最简单的办法就把
INSERT INTO 进货表 ( 商场ID, 日期, 货物 )
SELECT 进货临时表.商店ID, 进货临时表.日期, 进货临时表.货物
FROM 进货临时表 LEFT JOIN 进货表 ON (进货临时表.日期=进货表.日期) AND (进货临时表.商店ID=进货表.商场ID)
WHERE (((DLookUp("货物","进货表","货物 = '" & 进货临时表!货物 & "'")) Is Null) And ((进货表.商场ID) Is Null))
保存为“Q”
然后
Private Sub Command0_Click()
DoCmd.SetWarnings False
DoCmd.OpenQuery "Q"
DoCmd.SetWarnings True
End Sub
按7楼的例子,单独运行“追加”查询可以达到目的,但写成VBA语句,编译时说语法错误,不知错在哪里,盼大家指教。代码如下:
Private Sub Command23_Click()
Dim sql As String
sql = "INSERT INTO 进货表 ( 商场ID, 日期, 货物 ) SELECT 进货临时表.商店ID, 进货临时表.日期, 进货临时表.货物 FROM 进货临时表 LEFT JOIN 进货表 ON (进货临时表.日期 = 进货表.日期) AND (进货临时表.商店ID = 进货表.商场ID) WHERE (((DLookUp("货物","进货表","货物 = '" & [进货临时表]![货物] & "'")) Is Null) AND ((进货表.商场ID) Is Null));"
DoCmd.RunSQL sql
End Sub