این مقاله نحوه ایجاد قابلیتی را می آموزد که ; ضوابط فیلتر کردن را از طریق یک فرم جدولی اکسس 2000 وارد کنید و دکمه ای بنام Query داشته باشید تا فیلتر اعمال شود.
این فیلتر 4 تکست باکس دارد بنام های txtFirstName, txtMiddleInitial, txtLastName, و txtSSN .جدول دیتابیس member نام دارد و فیلد هایی بنام های First, Mi,Last, و SSN دارد .
فانکشن AttachAnd برای ساخت جمله فیلتر کننده SQL استفاده میشود .
"First='David' and Last='Nishimoto'".
ساخت فانکشن :
Option Compare Database
Dim ssql
1- کاربر دکمه query را فشار داد
2-یا اینکه شما میتوانید یک دکمه برای رویداد exit قرار دهید.
Private Sub cmdQuery_Click()
BuildQueryCommand
End Sub
3- فانکشن BuildQueryCommand یک فیلتر با ضوابطی که از تکست باکس ها دریافت کرده میسازد
4 – قوانین فیلتر اعمال شد .
Private Function BuildQueryCommand()
sSQL = ""
Call AttachAnd("First", "'" & txtFirstName & "'")
Call AttachAnd("Mi", "'" & txtMiddleInitial & "'")
Call AttachAnd("Last", "'" & txtLastName & "'")
Call AttachAnd("SSN", "'" & txtSSN & "'")
Filter = sSQL
FilterOn = True
End Function
ضوابط چندگانه یا تکی را بررسی کنید
Single: "first='David'"
Multiple:"First='David' and Last='Nishimoto'"
Private Function AttachAnd(sField, sValue)
If sValue = "''" Or sValue = "" Then
Exit Function
End If
If Occurances(sSQL, "=") = 0 Then
sSQL = sSQL & sField & "=" & sValue
Else
sSQL = sSQL & " and " & sField & "=" & sValue
End If
End Function
رخدادهای یک طرح را در عبارت sql بشمارید
Private Function Occurances(sSQL, sOperator)
Dim offset
Dim iCount
offset = 1
While offset <> 0
offset = InStr(offset + 1, sSQL, sOperator)
If offset > 1 Then
iCount = iCount + 1
End If
Wend
Occurances = iCount
End Function
خیلی خوب بود
سلام میخواستم بدونم چطور میشود اطلاعات را در یک فرم فیلتر کرد مثلا در یک فرو دو کمبو باکس داریم با انتخاب یک رکورد در کمبو باکس اول اطلاعات نشانداده شده د کمبو باکس دوم فیلتر شوند
سلام
لطفا در مورد VBA هم توضیح دهید؟
چطوری میشه دیتا بیس رو توی فایل اجرایی ادغام کرد؟
با تشکر