单击查询名称打开 table
Open the table by clicking on the name of the query
我有以下逻辑需要转换成 VBA 代码:
1. 用户从组合框中选择一个或多个查询名称:
2. 用户点击 "Show Table" 按钮
3.选中Table(s)is/are打开
到目前为止,我有以下代码:
Private Sub cmdShowTable_Click()
Dim valSelect1 As Variant
Dim strValue1 As String
Dim strValue2 As String
For Each valSelect1 In Me.Combo29.ItemsSelected
DoCmd.SetWarnings (WarningsOff)
strValue1 = Me.Combo29.ItemData(valSelect1)
strValue2 = "select TableName from [List of Queries] where QueryName = " ' & strValue1 & '" "
DoCmd.OpenTable (strValue2)
Me.Combo29.Selected(valSelect1) = False
Next
DoCmd.SetWarnings (WarningsOn)
MsgBox "Complete!"
end sub
我知道错误在第 strValue2 行。语法和逻辑可能不正确,因为 sql 字符串已传递给对象但未执行。它必须被执行,然后它的值被进一步传递给 Docmd.Open table 命令。
请帮忙把它们绑在一起!
您似乎无法决定是打开查询还是 tables ...
但是,如果每个查询都有一个要打开的 table 名称,请像这样:
strValue1 = Me.Combo29.ItemData(valSelect1)
strValue2 = DLookup("TableName", "[List of Queries]", "QueryName = '" & strValue1 & "'")
DoCmd.OpenTable (strValue2)
如果每个查询包含多个 table 个名称,您必须使用该查询作为源打开一个记录集,然后循环返回的 table 个名称并打开它们。
我有以下逻辑需要转换成 VBA 代码: 1. 用户从组合框中选择一个或多个查询名称: 2. 用户点击 "Show Table" 按钮 3.选中Table(s)is/are打开
到目前为止,我有以下代码:
Private Sub cmdShowTable_Click()
Dim valSelect1 As Variant
Dim strValue1 As String
Dim strValue2 As String
For Each valSelect1 In Me.Combo29.ItemsSelected
DoCmd.SetWarnings (WarningsOff)
strValue1 = Me.Combo29.ItemData(valSelect1)
strValue2 = "select TableName from [List of Queries] where QueryName = " ' & strValue1 & '" "
DoCmd.OpenTable (strValue2)
Me.Combo29.Selected(valSelect1) = False
Next
DoCmd.SetWarnings (WarningsOn)
MsgBox "Complete!"
end sub
我知道错误在第 strValue2 行。语法和逻辑可能不正确,因为 sql 字符串已传递给对象但未执行。它必须被执行,然后它的值被进一步传递给 Docmd.Open table 命令。
请帮忙把它们绑在一起!
您似乎无法决定是打开查询还是 tables ...
但是,如果每个查询都有一个要打开的 table 名称,请像这样:
strValue1 = Me.Combo29.ItemData(valSelect1)
strValue2 = DLookup("TableName", "[List of Queries]", "QueryName = '" & strValue1 & "'")
DoCmd.OpenTable (strValue2)
如果每个查询包含多个 table 个名称,您必须使用该查询作为源打开一个记录集,然后循环返回的 table 个名称并打开它们。