PDA

View Full Version : سوال: اشکال در فیلتر کردن فیلدها با وجود فیلد خالی



atf1379
دوشنبه 01 اردیبهشت 1399, 17:26 عصر
سلام
در نمونه ضمیمه وقتی در ایونت namSearcher_Change حرفی وارد میشود بلحاظ اینکه فیلد دوم خالی است فیلتر بدرستی انجام نمیشود.
چه تغییری درکدهای مربوطه باید داده شودکه فیلتر بدرستی انجام شود ؟
با تشکر

mazoolagh
سه شنبه 02 اردیبهشت 1399, 11:07 صبح
1- برای جستجوی درجا اول تاپیک زیر رو ببینین:
https://barnamenevis.org/showthread.php?557796

2- کدهای خودتون رو همینجا بگذارین (حتما درون تگ vb یا code باشه)

atf1379
سه شنبه 02 اردیبهشت 1399, 11:23 صبح
1- برای جستجوی درجا اول تاپیک زیر رو ببینین:
https://barnamenevis.org/showthread.php?557796

2- کدهای خودتون رو همینجا بگذارین (حتما درون تگ vb یا code باشه)
سلام
بفرمائید:


Private Sub namSearcher_Change()
Dim s As String, i As Integer
s = Nz(namSearcher.Text, "*")
i = namSearcher.SelStart
Me.Filter = "nam like '*" & s & "*' AND sadere like '*" & Nz(SadereSearcher, "") & "*'"
Me.FilterOn = True
Me.namSearcher = s
Me.namSearcher.SelStart = i
End Sub
Private Sub SadereSearcher_Change()
Dim s As String, i As Integer
s = Nz(SadereSearcher.Text, "*")
i = SadereSearcher.SelStart
Me.Filter = "sadere like '*" & s & "*' AND nam like '*" & namSearcher & "*'"
Me.FilterOn = True
Me.SadereSearcher = s
Me.SadereSearcher.SelStart = i
End Sub

mazoolagh
سه شنبه 02 اردیبهشت 1399, 12:19 عصر
این روش خوبی نیست!
از همون کدی که در تاپیک گذاشتم استفاده کنین.

atf1379
سه شنبه 02 اردیبهشت 1399, 13:24 عصر
این روش خوبی نیست!
از همون کدی که در تاپیک گذاشتم استفاده کنین.
نمونه شمافقط دارای یک ستون است . منظور من این است که اگر فرم یا لیست باکس دارای دو یاچند ستون باشد و شرط باوجود خالی بودن سایر ستون ها برقرار شود




Private Sub SearchText1_Change()
Me.Names.Form.RecordSource = "SELECT * FROM NAMES WHERE FName LIKE '*" & Me.SearchText1.Text & "*' and lName LIKE '*" & Me.SearchText2.Text & "*' ORDER BY FName"
End Sub

Private Sub SearchText2_Change()
Me.Names.Form.RecordSource = "SELECT * FROM NAMES WHERE FName LIKE '*" & Me.SearchText1.Text & "*' and lName LIKE '*" & Me.SearchText2.Text & "*' ORDER BY FName"
End Sub


من از NZ جهت صرفنظر کردن از فیلدهای خالی در کدها هم استفاده کردم ولی نتیجه ای نداد

mazoolagh
پنج شنبه 04 اردیبهشت 1399, 09:46 صبح
وقتی که یک operand از شرط منطقی and مقدارش همیشه false باشه، نتیجه نهایی هم همیشه false هست.
این وضعیتی است که باهاش روبرو هستین.

eb_1345
پنج شنبه 04 اردیبهشت 1399, 12:48 عصر
سلام
در نمونه ضمیمه وقتی در ایونت namSearcher_Change حرفی وارد میشود بلحاظ اینکه فیلد دوم خالی است فیلتر بدرستی انجام نمیشود.
چه تغییری درکدهای مربوطه باید داده شودکه فیلتر بدرستی انجام شود ؟
با تشکر
برای رفع این مشکل میتوانید درجدول مربوطه درمقابل خصوصیت Default Value فیلدی که احتمال میدهی خالی هم باشد یک دابل کوتیشن با یک فضای خالی در بین آن (" ") قرار بدهی
البته اینکار در زمانی که هیچ اطلاعاتی درجدول وارد نکرده ای باید صورت بگیرد
موفق باشی

atf1379
پنج شنبه 04 اردیبهشت 1399, 17:21 عصر
برای رفع این مشکل میتوانید درجدول مربوطه درمقابل خصوصیت Default Value فیلدی که احتمال میدهی خالی هم باشد یک دابل کوتیشن با یک فضای خالی در بین آن (" ") قرار بدهی
البته اینکار در زمانی که هیچ اطلاعاتی درجدول وارد نکرده ای باید صورت بگیرد
موفق باشی

سلام
ممنون ، جواب داد