PDA

View Full Version : سوال: تکس باکس unbpund در Continuous Forms



IMANAZADI
پنج شنبه 15 مرداد 1394, 16:52 عصر
با سلام
یک فرم داریم شامل 6 عدد تکس باکس
این فرم به یک کوئری بایند شده است
view فرم هم بصورت Continuous Forms می باشد
یک تکس باکس دیگه روی این فرم داریم که unbound می باشد
میخواهیم این تکس باکس (unbound) با توجه به یکی از تکس باکس های بایند شده بیاد و dlookup بگیره از یک جدول دیگه و اطلاعات رو نشون بده ولی زمانیکه من از کد زیر استفاده میکنم میاد و فقط آخرین فیلد رو میگیره





Text16.Value = DLookup("[fname]", "tbl_books", "[ID] =" & Form_Form1.Text10.Value)



Text16 تکس باکس unbound شدمون می باشد

Text10 تکس باکس بایند شده می باشد

اینم بگم میدونم میشه با یک کوئری دو تا جدول فوق را relation زد و کوئری بدست اومده رو به عنوان record source به فرم مربوطه داد و اون تکس باکس رو بایند کنیم
میخوام بدونم توسط کد نویسی چطوری میشه اینکار رو انجام داد

saeed1234n
پنج شنبه 15 مرداد 1394, 22:29 عصر
سلام

شرطتون رو بررسی کنید ببینید درست است یا نه ؟

اگر نمونه اتون رو بزارید بهتر می توان راهنمایی کرد ؟

با تشکر نادری

IMANAZADI
جمعه 16 مرداد 1394, 07:59 صبح
با تشکر از شما
sample رو گذاشتم
میخوام بدون joint کردن و با کد نویسی در فرم مربوطه ، نام یوزر رو با توجه به فیلد sender از جدول یوزر استخراج کنم و در تکس باکس مربوطه نشون بدم

Abbas Amiri
جمعه 16 مرداد 1394, 16:52 عصر
با سلام
یک فرم داریم شامل 6 عدد تکس باکس
این فرم به یک کوئری بایند شده است
view فرم هم بصورت Continuous Forms می باشد
یک تکس باکس دیگه روی این فرم داریم که unbound می باشد
میخواهیم این تکس باکس (unbound) با توجه به یکی از تکس باکس های بایند شده بیاد و dlookup بگیره از یک جدول دیگه و اطلاعات رو نشون بده ولی زمانیکه من از کد زیر استفاده میکنم میاد و فقط آخرین فیلد رو میگیره





Text16.Value = DLookup("[fname]", "tbl_books", "[ID] =" & Form_Form1.Text10.Value)



Text16 تکس باکس unbound شدمون می باشد

Text10 تکس باکس بایند شده می باشد

اینم بگم میدونم میشه با یک کوئری دو تا جدول فوق را relation زد و کوئری بدست اومده رو به عنوان record source به فرم مربوطه داد و اون تکس باکس رو بایند کنیم
میخوام بدونم توسط کد نویسی چطوری میشه اینکار رو انجام داد

سلام
عبارت مورد نظرتان رو در پنجره Properties>>Data>>Control Source وارد کنید:
= DLookup("[fname] & ' ' & [lname]", "User", "[ID] =" & [sender])

alirezabahrami
جمعه 16 مرداد 1394, 17:27 عصر
با سلام
یک فرم داریم شامل 6 عدد تکس باکس
این فرم به یک کوئری بایند شده است
view فرم هم بصورت Continuous Forms می باشد
یک تکس باکس دیگه روی این فرم داریم که unbound می باشد
میخواهیم این تکس باکس (unbound) با توجه به یکی از تکس باکس های بایند شده بیاد و dlookup بگیره از یک جدول دیگه و اطلاعات رو نشون بده ولی زمانیکه من از کد زیر استفاده میکنم میاد و فقط آخرین فیلد رو میگیره





Text16.Value = DLookup("[fname]", "tbl_books", "[ID] =" & Form_Form1.Text10.Value)



Text16 تکس باکس unbound شدمون می باشد

Text10 تکس باکس بایند شده می باشد

اینم بگم میدونم میشه با یک کوئری دو تا جدول فوق را relation زد و کوئری بدست اومده رو به عنوان record source به فرم مربوطه داد و اون تکس باکس رو بایند کنیم
میخوام بدونم توسط کد نویسی چطوری میشه اینکار رو انجام داد
سلام
با اجازه آقای نادری
DLookup را با اضافه کردن یک مساوی قبل از آن در ControlSource فیلد مربوطه وارد کن !
بصورت زیر :


=DLookUp("fname","User","[ID] =" & [sender] & "")

موفق باشید

alirezabahrami
جمعه 16 مرداد 1394, 17:35 عصر
سلام
عبارت مورد نظرتان رو در پنجره Properties>>Data>>Control Source وارد کنید:
= DLookup("[fname] & ' ' & [lname]", "User", "[ID] =" & [sender])

سلام جناب امیری !
بلحاظ باز بودن تاپیک فوق , بنده قبل از ارسال پاسخ , پاسخ جنابعالی را ملاحظه نکردم و خواستم پست خودم را به دلیل تشابه پاسخ حذف نمایم که ظاهراً گزینه حذف برای بنده غیر فعال گردیده .
ممنون میشوم در خصوص فعال نمودن گزینه فوق مساعدت فرمائید .
با تشکر

Abbas Amiri
سه شنبه 20 مرداد 1394, 15:25 عصر
سلام جناب امیری !
بلحاظ باز بودن تاپیک فوق , بنده قبل از ارسال پاسخ , پاسخ جنابعالی را ملاحظه نکردم و خواستم پست خودم را به دلیل تشابه پاسخ حذف نمایم که ظاهراً گزینه حذف برای بنده غیر فعال گردیده .
ممنون میشوم در خصوص فعال نمودن گزینه فوق مساعدت فرمائید .
با تشکر

سلام
جناب آقای بهرامی ، دوست عزیز ، تقدم و تاخر یک جواب که احتمالا همزمان ایجاد شده است موضوع مهمی نیست و تقریبا همه کاربران این فروم نسبت به حیطه جنابعالی در اکسس اطلاع کافی دارند . برای همین حیفم آمد آن را حذف کنم .
در مورد امکان و یا عدم امکان حذف یک پست که از اختیارات مسلم هر کاربر است ، بنده اختیاری ندارم و بهتر است با مدیریت سایت مکاتبه کنید.
ایام بکام باد

IMANAZADI
یک شنبه 25 مرداد 1394, 07:09 صبح
دوستان عزیز باز یک مسئله دیگه در همین مورد
فرض کنید ما بر اساس یک مقدار ، چندین مقدار در جدول داریم
حالا چطوری میتونیم بر اساس یک آیتم، مقدار چندین آیتم رو بدست آورد و بوسیله ";" از هم جدا کرد و در یک label نشان داد .

در فرم معمولی من بوسیله dao و آرایه ها این کار رو انجام میدم ولی در continue form نمیتونم

alirezabahrami
یک شنبه 25 مرداد 1394, 09:33 صبح
دوستان عزیز باز یک مسئله دیگه در همین مورد
فرض کنید ما بر اساس یک مقدار ، چندین مقدار در جدول داریم
حالا چطوری میتونیم بر اساس یک آیتم، مقدار چندین آیتم رو بدست آورد و بوسیله ";" از هم جدا کرد و در یک label نشان داد .

در فرم معمولی من بوسیله dao و آرایه ها این کار رو انجام میدم ولی در continue form نمیتونم
سلام
فکر کنم قابل حله ، البته اگر با ارائه نمونه باشد.

IMANAZADI
یک شنبه 25 مرداد 1394, 11:17 صبح
با تشکر از شما دوست عزیز

SAMPLE رو پیوست کردم

شرح سوال :
میخوام با توجه به شماره ID در فرم ، فیلد TYPE متناظر اون رو در جدول TEST پیداکنیم و در تکس باکس NEW(unbound) بریزیم

مثلا برای ID شماره 14 تکس باکس NEW(unbound) به صورت زیر باشه
A;F;G;MM

alirezabahrami
دوشنبه 26 مرداد 1394, 00:25 صبح
با تشکر از شما دوست عزیز

SAMPLE رو پیوست کردم

شرح سوال :
میخوام با توجه به شماره ID در فرم ، فیلد TYPE متناظر اون رو در جدول TEST پیداکنیم و در تکس باکس NEW(unbound) بریزیم

مثلا برای ID شماره 14 تکس باکس NEW(unbound) به صورت زیر باشه
A;F;G;MM
سلام
نمونه اصلاح شده را بررسی کن!
اقدام انجام شده بر روی نمونه :
1- ایجاد یک تیبل با عنوان tblCopy دارای دو ستون ، اولی جهت ذخیره فیلد ID و دومی جهت ذخیره رکورد های متناظر
2-ایجاد یک سابروتین که در داخل آن بوسیله حلقه شرطی ، فیلد ID مربوطه با رکوردهای متناظر در جدول tblCopy قرار می دهد.
در ابتدای شروع فرمان در سابروتین فوق ، ابتدا محتویات قبلی جدول فوق حذف و با لود شدن فرم با در نظر گرفتن اطلاعات جدید عملیات انجام میشود.
3- کال نمودن سابروتین فوق در ایونت load فرم
تذکر: شما میتوانید در جائی که مد نظرتان است این سابروتین را کال نمائید .
درج نمودن کد زیر در قسمت کنترل سورس تکس باکس (NEW(unbound




DLookUp("field2","tblCopy","[field1] =" & [id] & "")


یا علی

IMANAZADI
سه شنبه 27 مرداد 1394, 11:23 صبح
دوست عزیز با تشکر از شما
من نمونه شما و کدها رو دیدم
زحمت کشیدید
اما من میخواستم بدون ایجاد جدول دیگه ایی این کار رو انجام بدم فقط با استفاده از کدنویسی

alirezabahrami
سه شنبه 27 مرداد 1394, 18:14 عصر
دوست عزیز با تشکر از شما
من نمونه شما و کدها رو دیدم
زحمت کشیدید
اما من میخواستم بدون ایجاد جدول دیگه ایی این کار رو انجام بدم فقط با استفاده از کدنویسی
سلام
با توجه به اینکه عملیات کنار هم قرار گرفتن رکوردهای متناظر الزاماً از طریق حلقه و با کد نویسی انجام میشود و از آنجائیکه حالت نمایش فرم Continuous Forms بوده و با حالت Single Form فرق دارد نتیجه ابتدا باید در در جائی درج و از آنجا در قسمت کنترل سورس تکس باکس درج شود .
لذا بنظر میرسد این کار از طریق ایجاد یک تابع عمومی و فراخوانی آن تابع در کوئری (بدون ایجاد جدول جدید) عملی باشد.
در هر حال چنانچه تمایل داشتی عملیات بصورت مذکور انجام شود اعلام بفرما تا انشاءالله اقدام شود.
یا علی

alirezabahrami
چهارشنبه 28 مرداد 1394, 15:18 عصر
سلام
با توجه به اینکه عملیات کنار هم قرار گرفتن رکوردهای متناظر الزاماً از طریق حلقه و با کد نویسی انجام میشود و از آنجائیکه حالت نمایش فرم Continuous Forms بوده و با حالت Single Form فرق دارد نتیجه ابتدا باید در در جائی درج و از آنجا در قسمت کنترل سورس تکس باکس درج شود .
لذا بنظر میرسد این کار از طریق ایجاد یک تابع عمومی و فراخوانی آن تابع در کوئری (بدون ایجاد جدول جدید) عملی باشد.
در هر حال چنانچه تمایل داشتی عملیات بصورت مذکور انجام شود اعلام بفرما تا انشاءالله اقدام شود.
یا علی

نمونه اصلاح شده با ایجاد تابع و فراخوانی آن در کوئری ملاحظه بفرمائید!

alirezabahrami
پنج شنبه 29 مرداد 1394, 23:09 عصر
نمونه اصلاح شده با ایجاد تابع و فراخوانی آن در کوئری ملاحظه بفرمائید!
چی جناب IMANAZADI ؟
به تالار سر زدی ولی فکر کنم فراموش کردی جواب جدید تاپیک خودت را ملاحظه فرمائید .
موفق باشید

IMANAZADI
جمعه 30 مرداد 1394, 07:35 صبح
آقای alirezabahrami

دوست عزیز و گرامی
با تشکر از شما بابت پیگیری های مکررتون
من چندین بار سرزدم ولی فراموش کردم پست شما رو ببینم
کد جدید شما رو هم بررسی کردم
کاملا درست و صحیح بود
یه کوچولو باید تغییرش بدم