繁体   English   中英

插入问题

[英]Issue with INSERT INTO

我编写了应该比较两个表的值并且只插入新添加到第一个表中的记录的代码,它给了我一个找不到Frs的错误

Private Sub MainButt_Click()
Dim mydb As Database
Dim Frs As DAO.Recordset
Dim Srs As DAO.Recordset
Dim testdate As String
Dim strsql As String
Dim secstrsql As String
Dim sqlinsert As String

strsql = "SELECT * FROM Firstable "
secstrsql = "SELECT * FROM secondtable"
Set Frs = CurrentDb.OpenRecordset(strsql)
Set Srs = CurrentDb.OpenRecordset(secstrsql) 
 sqlinsert = "INSERT INTO Srs ( StransfereDate, transfereName, transfereId, transferAddress ) SELECT Frs.FtransfereDate, Frs.Tname, Frs.TId, Frs.TAddress FROM Frs  WHERE NOT EXISTS  (SELECT *  FROM Srs   WHERE (  Frs.FtransfereDate=Srs.StransfereDate AND Srs.transfereName=Frs.Tname AND Srs.transfereId =Frs.TId AND Srs.transferAddress=Frs.TAddress  )    )"
            DoCmd.SetWarnings False
CurrentDb.Execute sqlinsert
DoCmd.SetWarnings True
   
End Sub

您不能在 SQL 语句中使用 VBA 记录集。 SQL 必须引用表(或保存的查询)。

你需要这样的东西:

INSERT INTO secondtable ( ... ) 
SELECT ... FROM Firstable 
WHERE ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM