ورود

View Full Version : سوال: انتخاب همه گزینه ها از منو برای کوئری



arman2000
شنبه 20 آذر 1389, 00:52 صبح
سلام
اگر بخوایم توی فرم جستجو، از منویی که شامل چند گزینه مثلا نام چند شهر هست یکی از انتخابها، "همه شهرها" باشه، چه تغییری باید در دستور به کوئری یا منو بدیم؟

(اسامی شهرها در یک جدول جدا هست)
گزینه انتخابی در فرم جستجو رو با آدرس زیر به کوئری دادم
=[Forms]![frmsrch].[Combo480]

wolfstander
شنبه 20 آذر 1389, 07:04 صبح
سلام
شما باید یک تکست باکس تعریف کنید اسمشو میذاریم تکست1
اطلاعات شهرهای شما هم از کمبو باکس فراخوانی میشه که اسمشو میذاریم کمبو1
حالا در اون onchange کمبو1 بنویسید:

text1.value=combo1.column(0)

بعدش کوئریای رو که تعریف کردید در قسمت criteria مربوط به شهر، اون رو برابر تکست باکس قرار بدید
تا اینجا همون کاری رو میکنه که شما الان هم دارید انجام میدید
حالا اگه شما بخواید از همه شهرها گزارش بگیرید چیکار باید کنید؟
شما تو فرمتون دکمه ای داریدکه وقتی زده میشه، گزارش نمایش داده میشه
توی اون بنویسید که اگه کمبوباکس اطلاعاتی نداشت، مقدار تکست یک رو برابر "*" قرار بده
ستاره = همه چیز
نول و اینها رو هم میاره برای شما
و مشکل شما به این صورت حل میشه
این راه حلیه که من بلدم و دارم ازش استفاده میکنم، شاید بقیه دوستان راه حل های بهتری بلد باشند که هنوز رو نکرده اند. :چشمک:

arman2000
شنبه 20 آذر 1389, 09:11 صبح
سلام
ممنونم از پيشنهاد خوبتون. دوست من اگه بخوايم يكي از گزينه هاي كمبوباكس"همه شهرها" باشه چي؟ چون با اين توضيح شما اگه كمبوباكس "خالي" بود همه رو شامل مي شه.

ali190
شنبه 20 آذر 1389, 13:41 عصر
سلام
در اینجا تکست باکس شما از کمبو باکس شما داره نشئت میگیره
پس شما کافیه مثلاً کد زیر رو به رویدادت اضافه کنی:
then me.text1=null "همه شهرها"=if me.combo1
یاعلی

arman2000
شنبه 20 آذر 1389, 16:36 عصر
سلام
در On Clickدکمه فرم، کد رو گذاشتم که به صورت زیر شد ولی گزارش بدون نتیجه می ده:

Private Sub Command1_Click()
On Error GoTo Err_Command1_Click
If Me.Combo1 = Null Then Me.Text1 = "*"
Dim stDocName As String
stDocName = "rpt1"
DoCmd.OpenReport stDocName, acPreview
Exit_Command1_Click:
Exit Sub
Err_Command1_Click:
MsgBox Err.Description
Resume Exit_Command1_Click

End Sub




کد زیر رو باید جایگزین کد قبلی کنم یا به اون اضافه کنم؟ در ضمن کلمه "همه شهرها" توی صفحه کدها به صورت "??? ?????" درمیاد، مشکلی بوجود نمی آره؟


If Me.Combo1 = "همه شهرها" Then Me.Text1 = Null

anbaran
شنبه 20 آذر 1389, 19:02 عصر
برای انتخاب همه گزینه ها از منو برای کوئری طبق نمونه زیر عمل کنید

arman2000
دوشنبه 22 آذر 1389, 00:03 صبح
سلام
بزرگوار پيشنهادتون عالي بود تشکر مي کنم :تشویق::تشویق::تشویق:
دوست من وقتي که از اين منو، يه شهر ديگه رو انتخاب مي کنم ديگه گزينه "همه" پاک مي شه و ديده نمي شه. اين کلمه فقط توي پيشفرض کمبوباکس بود (در جدول شهرها که نبايد باشه؟ آره؟)

arman2000
دوشنبه 22 آذر 1389, 21:51 عصر
ممنوم مي شم راهنمايي بفرمائيد.

arman2000
شنبه 04 دی 1389, 10:06 صبح
سلام
منتظر راهنمايي شما هستم

arman2000
چهارشنبه 08 دی 1389, 09:23 صبح
لطف کنید جواب بدید.

amirzazadeh
چهارشنبه 08 دی 1389, 11:44 صبح
سلام
در نمونه ارائه شده توسط جناب anbaran اين مشكل وجود نداره .(احتمالا row source و يا شرط كوئري رو در نمونه خودتون درست تنظيم نكرديد.)
.........................
موفق باشيد