View Full Version : اعمال چندین فیلتر توسط کمبو باکس در حالت های مختلف
erol11
چهارشنبه 27 دی 1391, 23:38 عصر
سلام دوستان
لطفا"فایل ضمیمه را مشاهده و بنده را راهنمایی نمائید.
لازمه گزارش گیری توسط Form1 پر بودن مقادیر کمبو باکس هاست.
می خواستم حالتی بوجود آورم که اگر مقادیر کمبو ها انتخاب نشوند پیش فرض همه موارد را انتخاب کند
یا اینکه بتوان چندین مورد یا همه موارد از یک کمبو را با هم انتخاب کرد.
ممنون میشم اگر راهنمائی فرمائید.با تشکر.
emami.sie
پنج شنبه 28 دی 1391, 06:49 صبح
با سلام
جهت مشاهده <همه موارد> در کمبوباکس و فیلتر گزارش نمونه زیر رو براتون گذاشتم...
در این مورد سرچ هم بفرمایید، در تاپیکی مراحل کار هم توضیح داده شده است...
موفق باشید
یا علی
erol11
پنج شنبه 28 دی 1391, 20:55 عصر
سلام خسته نباشید ممنون از راهنمائیتون
من سرچ کردم ولی مراحل کار را پیدا نکردم لطف کنید با لینک راهنمائی کنید .
در ضمن در این کمبو یا باید همه موارد یا یک مورد را انتخاب کرد نمی توان دو یا چند مورد راانتخاب کرد .
آیامیشه کمبوئی ساخت که موارد انتخابی را تیک زد و بعد گزارش گرفت؟ آیا با همان سبکی که در فایل خودم کوئری وریپورت درست کردم
میتوان این کار را انجام داد ؟ممنون میشم اگر راهنمائی فرمائید.
emami.sie
جمعه 29 دی 1391, 07:05 صبح
سلام مجدد
مراحل کار در آدرس زیر کاملا شرح داده نشده ولی با کمی دقت مراحل قابل کشف هستش...
http://barnamenevis.org/showthread.php?344559-%D8%A7%D9%86%D8%AA%D8%AE%D8%A7%D8%A8-%D9%87%D9%85%D9%87-%D9%85%D9%88%D8%A7%D8%B1%D8%AF-%D8%AF%D8%B1-%DA%A9%D9%85%D8%A8%D9%88%D8%A8%D8%A7%DA%A9%D8%B3&p=1520553#post1520553
در مورد انتخاب چند گزینه از کمبوباکس هم در ورژن 2003 اکسس همچین قابلیتی وجود نداره و در مورد ورژن های بالاتر اطلاعی ندارم... برای انتخاب چند گزینه ای بهتره از لیست باکس استفاده بفرمایید... (نمونه های ضمیمه شده) و نمونه های دیگری که در سایت موجود هستش...
موفق باشید
یا علی
Abbas Amiri
جمعه 29 دی 1391, 15:09 عصر
سلام
میتونید در روال کلیک باتن گزارش بجای ماکرو از رویداد VBA آن استفاده کنید.دراین صورت هرکدام ازکمبوها وتاریخ خالی بود درنظر گرفته نمیشود
Private Sub Command5_Click()
Dim strFilter As String
strFilter = "(1)"
If Not IsNull(Text0) Then
strFilter = strFilter & " AND TarikhGardesh>='" & Text0 & "'"
End If
If Not IsNull(Text2) Then
strFilter = strFilter & " AND TarikhGardesh<='" & Text2 & "'"
End If
If Not IsNull(Combo6) Then
strFilter = strFilter & " AND NoeMavad='" & Combo6 & "'"
End If
If Not IsNull(Combo10) Then
strFilter = strFilter & " AND DarajehFoulad='" & Combo10 & "'"
End If
If Not IsNull(Combo10) Then
strFilter = strFilter & " AND Forushandeh='" & Combo12 & "'"
End If
DoCmd.OpenReport "Abs Query", acViewPreview, , strFilter
End Sub
البته Record Source گزارش را هم،بجای نام کوئری ، نام جدول Abs قراردهید
erol11
جمعه 29 دی 1391, 16:16 عصر
ممنون از راهنمائتون
من خط 16 کدهائی را که نوشتید را به کمبو 12 تغییر دادم ودر روال کلیک باتن کپی کردم
ولی قسمت رکورد سورس را نفهمیدم ممنون میشم راهنمایی کنید
Abbas Amiri
جمعه 29 دی 1391, 16:34 عصر
گزارش رو درحالت Design View باز کنید و در پنجره Properties مطابق شکل تغییر دهید
98607
erol11
جمعه 29 دی 1391, 22:28 عصر
ممنون از لطفتون مشکل قبلی حل شد.
اگر یک نگاه به فایل ضمیمه بیندازید میبینید که با مولتی سلکت کردن این چک باکس و انتخاب سیمپل درحالتی که با راهنمائی قبلی شمادرمورد کمبوها vba برایش نوشتم خروجی گزارشم
درست نیست .آیا تو این مورد میتونید کمکم کنید. با تشکر ازشماو آقای امامی که تو این مورد تو همین پست یه فایلی گذاشتند ولی برای من یه کم مشکل بود نتونستم رو فایلم پیاده کنم .
ممنون میشم اگر راهنمائی کنید با تشکر از همه دوستان زحمت کش .
99179
Abbas Amiri
جمعه 29 دی 1391, 23:43 عصر
کد قبلی رو با این جایگزین کنید:
Private Sub Command6_Click()
Dim strFilter As String, varItem
strFilter = "(1)"
If Not IsNull(Text0) Then
strFilter = strFilter & " AND TarikhGardesh>='" & Text0 & "'"
End If
If Not IsNull(Text2) Then
strFilter = strFilter & " AND TarikhGardesh<='" & Text2 & "'"
End If
If Not IsNull(Combo9) Then
strFilter = strFilter & " AND NoeKharid='" & Combo9 & "'"
End If
If Not IsNull(Combo17) Then
strFilter = strFilter & " AND NoeGardesh='" & Combo17 & "'"
End If
If List27.ItemsSelected.Count Then
strFilter = strFilter & " AND ("
For Each varItem In List27.ItemsSelected
strFilter = strFilter & "MabadeHaml='" & List27.ItemData(varItem) & "' OR "
Next
strFilter = Left(strFilter, Len(strFilter) - 3)
strFilter = strFilter & ")"
End If
DoCmd.OpenReport "Report", acViewReport, , strFilter
End Sub
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.