我有4张桌子:
表1和表2中的数据发生变化。如果将数据添加到表1和2:以及也添加到表3。
如果表1和表2中的数据被更新,表3也将被更新。
如果从表1和表2中删除数据,则将其从表3中删除并添加到表4中。
ِ Dlookup对于这项工作而言很低。我该如何使用记录集?
编辑:我写这段代码,但不能在删除中工作。
运行时错误3135JOIN操作中的语法错误。
Dim strSqlAddtoHazf As String
Dim strFindDelete As String
Dim rsOrderHazf As DAO.Recordset
strFindDelete = "SELECT IDPhotoO , jensO , vazeiatO , dateaddO ,
customeridO , orderidO , usernameO , tedadO , FileNameO FROM
OrderDetail LEFT JOIN RataPhotoOrderDetail ON (OrderDetail.IDPhotoO =
RataPhotoOrderDetail.id) WHERE (RataPhotoOrderDetail.id Is Null and
OrderDetail.IDGharardadO Is Null);"
strSqlAddtoHazf = " insert into OrderHazf (IDPhotoH , jensH , vazeiatH ,
dateaddH , customeridH , orderidH , usernameH , tedadH , FileNameH ) " &
strFindDelete
DoCmd.SetWarnings False
DoCmd.RunSQL strSqlAddtoHazf
DoCmd.SetWarnings True
strFindDelete = "SELECT IDPhotoO , jensO , vazeiatO , dateaddO , customeridO , orderidO , usernameO , tedadO , FileNameO FROM OrderDetai LEFT JOIN OrderHazf ON (OrderDetail.IDPhotoO = orderHazf.IDPhotoH) WHERE (Orderhazf.IDPhotoH Is Null and OrderDetail.IDGharardadO Is Null);"
Set rsOrderHazf = CurrentDb().OpenRecordset(strFindDelete)
Do Until rsOrderHazf.EOF()
rsOrderHazf.Delete
Loop
''''
i建议您将所有查询放在宏中,并将每个查询放在宏行中,将它们按照您希望查询运行的顺序放置,第一个查询位于最上面一行。例如,如果查询1首先运行,结果将确定查询2将执行的操作,然后]
将查询1作为要在宏条件下运行的第一个查询,将查询2作为要运行的第二个查询,等等。
然后将宏名称附加到命令按钮。