简体   繁体   English

插入问题

[英]Issue with INSERT INTO

i wrote that code which should do compare the values of two table and only insert the records that is newly added in the first table and it gives me an error of not finding the Frs我编写了应该比较两个表的值并且只插入新添加到第一个表中的记录的代码,它给了我一个找不到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

You can't use VBA recordsets in SQL statements.您不能在 SQL 语句中使用 VBA 记录集。 SQL must refer to tables (or saved queries). SQL 必须引用表(或保存的查询)。

You need something like this:你需要这样的东西:

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

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

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