我正在使用名爲「ClassProfile」的表單進行搜索查詢。該表格是連續的表格,因此以數據表格式列出記錄。我在窗體上兩個文本框:解決搜索查詢
- clsBox - 用來輸入一個類名稱,如1T
- namebox中 - 用於輸入一個老師的名字如喬
這兩個文本框將被使用由用戶根據其中包含的值執行各種搜索。在他們旁邊是一個標有「搜索」的命令按鈕。搜索按鈕的onclick()事件包含以下代碼來執行搜索:
Private Sub cmdSearch_Click()
Dim strsearching As String
Dim strm As String
Dim tname As String
strm = Me.clsBox.Value
tname = Me.NameBox.Value
If Not IsNull(strm) Then
If IsNull(strsearching) Then
strsearching = "(([ClassProfile].[Class]) LIKE ""*" & strm & "*"")"
End If
Else: strsearching = ""
End If
If Not IsNull(tname) Then
If Not IsNull(strsearching) Then
strsearching = strsearching & " AND (([ClassProfile].[Class Teacher]) LIKE ""*" & tname & "*"")"
Else: strsearching = "(([ClassProfile].[Class Teacher]) LIKE ""*" & tname & "*"")"
End If
Else: strsearching = ""
End If
Dim sql As String
If Not IsNull(strsearching) Then
sql = "SELECT * FROM [ClassProfile] WHERE " & strsearching
Else: sql = "ClassProfile"
End If
Me.RecordSource = sql
End Sub
當執行搜索沒有任何反應的形式,一個符號的代碼是不工作的記錄。任何幫助表示讚賞。
你可以把一個斷點在第一個'If'發言並遵守它,並指出任何錯誤,並讓我們知道你會得到什麼?另外,在'Me.RecordSource = sql'之前放置一個debug.print sql。有些東西可能很容易出錯。 – 2014-11-21 13:35:49
調試似乎根本不起作用。 F5在我的即時窗口中沒有帶來任何結果,因此逐步使用F8。我甚至做了相同的功能,並創建了一個querydefs,將其指向一個臨時查詢以查明問題。到目前爲止,IsNull是一個對字符串變量無效的函數;因此我直接引用文本框而不是將它們存儲在變量中。如果我找到解決方案,我會發布。任何幫助表示讚賞。 – 2014-11-21 16:14:24
單擊按鈕時,「If Not IsNull(strm)Then'沒有以黃色突出顯示? – 2014-11-21 16:15:33