0
我正在創建一個搜索表單,而我無法在子表單中看到搜索結果。 查詢運行正常,我已經將子窗體記錄源設置爲查詢。我不會收到任何錯誤。當我單擊搜索按鈕查詢運行時,它顯示子窗體底部的記錄選擇器中的行數,但我看不到行。使用Access VBA更改表單的記錄源
這裏是我的按鈕的OnClick事件代碼:
Private Sub cmdSearch_Click()
Dim tableName As String
Dim colName As String
Dim keyword As String
Dim strSQL As String
tableName = Me.cmbTableNames.Value
colName = Me.cmbColumnNames.Value
keyword = Me.txtKeyword.Value
strSQL = "Select * from [" & [tableName] & "] where [" & [colName] & "] like '*" & [keyword] & "*';"
Debug.Print strSQL
Me.searchResultsForm.Visible = True
Forms![F_SearchForm]![searchResultsForm].Form.RecordSource = "Select * from [" & [tableName] & "] where [" & [colName] & "] like '*" & [keyword] & "*';"
Forms![F_SearchForm]![searchResultsForm].Form.Requery
End Sub
有人能告訴我什麼,我做錯了。
謝謝
這是在立即窗口中顯示的內容爲Debug.Print
Select * from [dbo_Internal Contacts] where [First Name] like '*Amy*';
我的表看起來像這樣的表單視圖:
我已經添加了一些文本框到我的子表單(大約35)。現在,如果我運行查詢,我的表單看起來像這樣:
如何使用vba將子窗體上的這些文本框鏈接到recordsource中的列?
請幫忙
有沒有原因您不使用本機查詢構建器和設計模式屬性來設置表單的記錄源?在代碼中嵌入SQL是不好的做法,並且(如您所發現的)使調試更加困難。 – Tim
@Tim我正在嘗試創建一個搜索表單,表名和列名是用戶選擇的組合框中的值。我試圖使用這個查詢(strSQL)。但訪問不讓我保存查詢,它給了我錯誤的表名無效包圍。這就是我選擇這種方式的原因。 – ksagar
您不能將該代碼粘貼到查詢中;只需在查詢生成器的設計模式下從頭開始,然後選擇所需的表,並根據需要在字段之間創建連接。 – Tim