我正在创建搜索表单,但我无法在子表单中看到搜索结果。 查询运行正常,我已将子表单记录源设置为查询。我没有收到任何错误。当我单击搜索按钮时,查询运行并显示子窗体底部的记录选择器中的行数,但我看不到行。
以下是按钮的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将子窗体上的这些文本框链接到记录源中的列?
请帮忙
答案 0 :(得分:1)
我明白了。这就是我做的事情
我将查询修改为
Select * into tmpSearchResults from [" & [tableName] & "] where [" & [colName] & "] like '*" & [keyword] & "*';
我将tmpSearchResults作为记录源提供给我的子表单。
每次更新表名组合框时,我都会删除tmpSearchResults表。
它就像我想要的那样工作。