【发布时间】:2012-08-10 23:13:35
【问题描述】:
我有两个相互关联的表:QUOTERun 和 QUOTERunResults。 QUOTERun 包含特定报价所需的所有项目。 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
有没有更有效的方法来完成上述操作?
【问题讨论】: