Проблема с INSERT INTO - PullRequest
       41

Проблема с INSERT INTO

0 голосов
/ 06 августа 2020

Я написал этот код, который должен сравнивать значения двух таблиц и вставлять только те записи, которые только что добавлены в первую таблицу, и это дает мне ошибку не нахождения 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

1 Ответ

2 голосов
/ 06 августа 2020

Вы не можете использовать наборы записей VBA в SQL операторах. SQL должен ссылаться на таблицы (или сохраненные запросы).

Вам нужно что-то вроде этого:

INSERT INTO secondtable ( ... ) 
SELECT ... FROM Firstable 
WHERE ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...