ورود

View Full Version : مبتدی: مشکل در جستجو



mehrdad6464
سه شنبه 07 شهریور 1402, 19:26 عصر
سلام . در اکسس مقدار فیلدی رو نامبر گذاشتم وقتی برای فیلتر یا جستجو اقدام میکنم ارور میده اما اگر همون فیلد رو shorttext کنم برنامه به درستی کار میکنه . در فیلد عدد نوشتم مثلا 3000 . این مشکل رو حتی در id که اتونامبر هم هست . ممنون میشم راهنمایی کنید

bitasoft.ir
دوشنبه 20 شهریور 1402, 01:25 صبح
این دو متد احتمالا کمک کنند:

Private Sub SearchButton_Click()
Dim strSQL As String
Dim strKeyword As String
Dim lngKeyword As Long
Dim strSearchField As String


' گرفتن مقدار واژه کلیدی از کنترل مربوطه
strKeyword = Me.KeywordTextBox.Value


' گرفتن نام فیلد برای جستجو از کنترل مربوطه
strSearchField = Me.SearchFieldComboBox.Value


' بررسی نوع داده فیلد جستجو
If IsNumeric(strKeyword) Then
' اگر واژه کلیدی عددی است
strSQL = "SELECT * FROM YourTableName WHERE " & strSearchField & " = " & strKeyword
Else
' اگر واژه کلیدی متنی است
strSQL = "SELECT * FROM YourTableName WHERE " & strSearchField & " LIKE '*" & strKeyword & "*'"
End If


' اجرای کوئری جستجو و نمایش نتایج در فرم یا گزارش
DoCmd.OpenQuery "YourQueryName", acViewNormal, acReadOnly


' تنظیم کردن نتایج در فرم یا گزارش
Me.RecordSource = strSQL
End Sub




و

Private Sub SearchButton_Click()
Dim strSQL As String
Dim strKeyword As String
Dim strSearchField As String


' گرفتن مقدار واژه کلیدی از کنترل مربوطه
strKeyword = Me.KeywordTextBox.Value


' گرفتن نام فیلد برای جستجو از کنترل مربوطه
strSearchField = Me.SearchFieldComboBox.Value


' ایجاد کوئری برای جستجو با واژه کلیدی عددی
strSQL = "SELECT * FROM YourTableName WHERE " & strSearchField & " = " & strKeyword


' اجرای کوئری جستجو و نمایش نتایج در فرم یا گزارش
DoCmd.OpenQuery "YourQueryName", acViewNormal, acReadOnly


' تنظیم کردن نتایج در فرم یا گزارش
Me.RecordSource = strSQL
End Sub




دو مثال برای جستجو.


سلام . در اکسس مقدار فیلدی رو نامبر گذاشتم وقتی برای فیلتر یا جستجو اقدام میکنم ارور میده اما اگر همون فیلد رو shorttext کنم برنامه به درستی کار میکنه . در فیلد عدد نوشتم مثلا 3000 . این مشکل رو حتی در id که اتونامبر هم هست . ممنون میشم راهنمایی کنید