【问题标题】:Finding records that are not contianed in another query查找不包含在另一个查询中的记录
【发布时间】:2012-08-10 23:13:35
【问题描述】:

我有两个相互关联的表:QUOTERunQUOTERunResultsQUOTERun 包含特定报价所需的所有项目。 QUOTERunResults 包含所有供应商响应的记录。我有一个程序可以分析这些响应并选择最适合的供应商并将名为Preffered 的字段设置为true。有时没有一个供应商会工作。我需要在QUOTERun 中创建一个列表,列出在QUOTERunResults 中没有标记为首选的匹配记录。

这是我目前所拥有的

Set rs1 = CurrentDb.OpenRecordset("SELECT ReferenceNumber FROM [QUOTERun] WHERE RunID = " & TempRunID, dbOpenDynaset)
Set rs2 = CurrentDb.OpenRecordset("SELECT ReferenceNumber, Preffered FROM [QUOTERunResults] " & _
                                  "WHERE RunID = " & TempRunID & " AND Preffered = True", dbOpenDynaset)
If (rs2.RecordCount = 0) Then
   TempListNotComplete = "NONE OF THE VENDOR RESPONSES HAD ENOUGH STOCK. NO RECORDS HAVE BEEN MARKED AS PREFFERED."
ElseIf (rs1.RecordCount <> 0) Then
   rs1.MoveFirst
   Do While rs1.EOF <> True
      rs2.FindFirst "ReferenceNumber = " & rs1.Fields("[ReferenceNumber]").value
      If (rs2.Fields("[ReferenceNumber]").value <> rs1.Fields("[ReferenceNumber]").value) Then
         If (TempListNotComplete = "") Then 
            TempListNotComplete = rs1.Fields("[ReferenceNumber]").value 
     Else 
            TempListNotComplete = TempListNotComplete & ", " & rs1.Fields("[ReferenceNumber]").value
     End If
      End If
      rs1.MoveNext
   Loop
End If

有没有更有效的方法来完成上述操作?

【问题讨论】:

    标签: vba ms-access


    【解决方案1】:

    您可以在查询设计窗口的 SQL 视图中创建查询:

    SELECT a.ReferenceNumber 
    FROM
        (SELECT ReferenceNumber 
         FROM [QUOTERun] 
         WHERE RunID = [Enter TempRunID]) a
    LEFT JOIN 
        (SELECT ReferenceNumber, Preffered 
         FROM QUOTERunResults 
         WHERE RunID = [Enter TempRunID] AND Preffered = True) b
    On a.ReferenceNumber=b.ReferenceNumber
    WHERE b.ReferenceNumber Is Null
    

    上面应该显示第一个派生表中不在第二个派生表中的所有记录。

    【讨论】:

      猜你喜欢
      • 2012-08-16
      • 1970-01-01
      • 1970-01-01
      • 2013-07-22
      • 1970-01-01
      • 2019-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多