PDA

View Full Version : اکسس کمبو باکس



farshid416
جمعه 13 شهریور 1394, 18:35 عصر
سلام من می خواهم در اکسس کمبوباکسی درست کنم وقتی مقداری ااز اسم یا شماره را میدهم بفیه را خ.دش وارد کنه

Abbas Amiri
شنبه 14 شهریور 1394, 20:00 عصر
سلام من می خواهم در اکسس کمبوباکسی درست کنم وقتی مقداری ااز اسم یا شماره را میدهم بفیه را خ.دش وارد کنه

سلام
معلوم نیست چرا این پست مهجور مانده ، خیلی از اعضا جواب آن را میدانند . در روال Change کمبو طبق الگوی کدهای زیر عمل کنید:

Private Sub cboMonth_Change()
s = Nz(Left(cboMonth.Text, Len(cboMonth.Text) - cboMonth.SelLength), "")
s = "SELECT MonthName FROM Months WHERE tMonth LIKE '*" & s & "*'"
cboMonth.RowSource = s
If cboMonth.ListCount = 1 Then cboMonth = cboMonth.ItemData(0)
cboMonth.Dropdown
End Sub

seyyedreza
یک شنبه 15 شهریور 1394, 00:07 صبح
سلام
به نظر شما بهتره برای جستجو از روش تکست باکس و سابفرم استفاده کرد و یا اینکه روش جستجو در خود کمبو باکس بهتره؟
چون در اون روش باید برای استفاده از رکورد مورد نظر کد نوشت اما خود عملیات جستجو نیازی کد نویسی نداره

Abbas Amiri
یک شنبه 15 شهریور 1394, 12:06 عصر
سلام
به نظر شما بهتره برای جستجو از روش تکست باکس و سابفرم استفاده کرد و یا اینکه روش جستجو در خود کمبو باکس بهتره؟
چون در اون روش باید برای استفاده از رکورد مورد نظر کد نوشت اما خود عملیات جستجو نیازی کد نویسی نداره

سلام
بستگی به مورد جستجو داره ، از نظر کاربرپسند بودن معمولا کمبوها راحت تر هستند.

seyyedreza
یک شنبه 15 شهریور 1394, 23:16 عصر
سلام
بستگی به مورد جستجو داره ، از نظر کاربرپسند بودن معمولا کمبوها راحت تر هستند.


سلام
جناب آقای امیری در صورت امکان برای کد نمونه ای که نوشتید فایل اکسس متناظر قرار بدید چون من هرکار کردم عمل نکرد.
بنده برای سرچ از روش تکست باکس و سابفرم استفاده کردم و قصد دارم که جستجوی ترکیبی انجام بدم اما در هر تکست باکس جستجو دوباره از نو انجام میشه در صورتیکه در کوئری میشه جستجوی ترکیبی انجام داد.

Abbas Amiri
دوشنبه 16 شهریور 1394, 20:02 عصر
سلام
جناب آقای امیری در صورت امکان برای کد نمونه ای که نوشتید فایل اکسس متناظر قرار بدید چون من هرکار کردم عمل نکرد.
بنده برای سرچ از روش تکست باکس و سابفرم استفاده کردم و قصد دارم که جستجوی ترکیبی انجام بدم اما در هر تکست باکس جستجو دوباره از نو انجام میشه در صورتیکه در کوئری میشه جستجوی ترکیبی انجام داد.

سلام
برای روش خودتان می توانید بجای ماکرو از کد استفاده کنید:

Private Sub Text0_Change()
Me.Query1_subform.Form.RecordSource = "SELECT name, code_m FROM Table1 " & _
"WHERE (name Like '*' & [Forms]![Form1]![Text0].[Text] & '*') " & _
"AND (code_m Like '*' & [Forms]![Form1]![Text8] & '*');"
Me.Query1_subform.Requery


End Sub

Private Sub Text8_Change()
Me.Query1_subform.Form.RecordSource = "SELECT name, code_m FROM Table1 " & _
"WHERE (name Like '*' & [Forms]![Form1]![Text0] & '*') " & _
"AND (code_m Like '*' & [Forms]![Form1]![Text8].[Text] & '*');"
Me.Query1_subform.Requery
End Sub

seyyedreza
دوشنبه 16 شهریور 1394, 22:44 عصر
سلام
ضمن عرض تشکر از شما بابت پاسخ بسیار مفیدتان

سوالی که برای بنده وجود دارد اینست که چرا در کدی که برای رویداد on change هر تکست باکس نوشته شده فقط خصوصیت همون تکست باکس تعیین شده؟
و اینکه اگر بخواهیم از بین ردیفهای فیلتر شده یک مورد را انتخاب و مثلا بعنوان یک ردیف در فاکتور درج کنیم آیا امکان دارد؟135083

Abbas Amiri
دوشنبه 16 شهریور 1394, 23:41 عصر
سلام
ضمن عرض تشکر از شما بابت پاسخ بسیار مفیدتان

سوالی که برای بنده وجود دارد اینست که چرا در کدی که برای رویداد on change هر تکست باکس نوشته شده فقط خصوصیت همون تکست باکس تعیین شده؟
و اینکه اگر بخواهیم از بین ردیفهای فیلتر شده یک مورد را انتخاب و مثلا بعنوان یک ردیف در فاکتور درج کنیم آیا امکان دارد؟135083

سلام
خصوصیت Text فقط در زمانی که روی کنترل فوکوس هست مقدار آن را بر میگرداند و در مواقع دیگر باعث خطا می شود. برای همین بود که کوئری شما فقط یک حالت را ساپورت می کرد. چنانچه از خصوصیت پیش فرض آن که Value هست استفاده کنید آخرین مقدار آپدیت شده را برمیگرداند(زمانی که فوکوس روی آن نبوده )
در مورد بدست آوردن یک فیلد در رکورد جاری هم می توانید در رویداد Current فرم آن را به یک متغیر نسبت دهید و هر جا خواستید از آن استفاده کنید

seyyedreza
سه شنبه 17 شهریور 1394, 20:25 عصر
سلام
در رویداد current فرم اصلی یا سابفرم؟
پس از جستجو برای اینکه بوسیله کلیک کردن یا اینتر کردن روی یکی از رکوردهای سابفرم مقدار آنرا مثلا به سربرگ فاکتور منتقل کنیم چه باید کرد؟

Abbas Amiri
سه شنبه 17 شهریور 1394, 23:07 عصر
سلام
در رویداد current فرم اصلی یا سابفرم؟
پس از جستجو برای اینکه بوسیله کلیک کردن یا اینتر کردن روی یکی از رکوردهای سابفرم مقدار آنرا مثلا به سربرگ فاکتور منتقل کنیم چه باید کرد؟

سلام
در فرم اصلی میتوانید با عبارت
Me.Query1_subform.Form("ControlName")
مقدار کنترل مورد نظر را بدست آورید.