我目前在访问数据库中有两个相同的表(就列而言)。我设置了一个表单,允许用户输入ID并搜索其中一个表。
我试图让它搜索第二个表,但我的查询不会返回BOTH表的结果。我只能从第一个表中检索结果。
我使用查询设计来构建我的查询,这基本上只是选择我需要的表并删除条件部分中的所有字段。当我尝试构建第二个查询时,我选择了两个表并匹配两个表中的ID,但结果不正确(两个表中都存在ID,但只显示了一个表中的ID)。
Private Sub cmdSearch_Click()
If Nz(comboID, "") <> "" Then
'DoCmd.OpenQuery "Inquiries Query", acViewNormal, acReadOnly
DoCmd.OpenQuery "both tables", acViewNormal, acReadOnly
Else
' If Nz(txtReportDate, "") = "" Then
MsgBox "NOTICE! Please enter a ID"
Exit Sub
End If
End Sub
答案 0 :(得分:0)
我认为你想要的是一个联合所有查询。
"SELECT * FROM Table1 WHERE ID = " & comboID.value & _
"UNION ALL SELECT * FROM Table2 WHERE ID = " & comboID.value & ";"
这将运行两个单独的选择查询,并组合所有相同的列。
注意:如果两个表中的记录完全相同,则会显示两次。