访问 - 搜索两个相同的表结构

时间:2018-06-15 22:51:49

标签: vba forms ms-access access-vba

我目前在访问数据库中有两个相同的表(就列而言)。我设置了一个表单,允许用户输入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

1 个答案:

答案 0 :(得分:0)

我认为你想要的是一个联合所有查询。

"SELECT * FROM Table1 WHERE ID = " & comboID.value & _
"UNION ALL SELECT * FROM Table2 WHERE ID = " & comboID.value & ";"

这将运行两个单独的选择查询,并组合所有相同的列。

注意:如果两个表中的记录完全相同,则会显示两次。