我的代码正在退出表示“CurrentDb.Execute strSQL_Insert_Data”的行的子部分。你知道为什么会发生这种情况吗?为什么我的Access SQL VBA代码跳出Sub?
Local_Array = Array("dbo_Tape_Capture_Local_tbl", "dbo_Tape_Local_tbl", "dbo_Tape_Memo_Local_tbl")
Server_Array = Array("dbo_Tape_Capture", "dbo_Tape", "dbo_Tape_Memo")
For i = 0 To UBound(Local_Array)
strSQL_Insert_Data = "INSERT INTO [" & Local_Array(i) & "] " & _
"SELECT [" & Server_Array(i) & "].* " & _
"WHERE (LEFT([" & Server_Array(i) & "].header__situs_loan_id," & _
Len([Forms]![Login Page]![CBO_Job_Select_Login]) & ") = " & _
"[Forms]![Login Page]![CBO_Job_Select_Login]);"
CurrentDb.Execute strSQL_Insert_Data
CurrentDb.Close
Next i
--Added打印出来代码 -
INSERT INTO [dbo_Tape_Capture_Local_tbl] SELECT [dbo_Tape_Capture].*
WHERE (LEFT([dbo_Tape_Capture].header__situs_loan_id,14) = [Forms]![Login Page]![CBO_Job_Select_Login]);
不要在循环内关闭DB连接。 – Arvo
这不是最简单的代码,可以重现您的问题。例如,如果你做了最简单的插入,会发生什么情况。那它有用吗?如果是这样,你的SQL是问题 - 尝试打印出来并手动运行它。如果没有,那么你的数据库连接可能会出错。尝试完全删除该循环,只需要1插入。也许你没有权限插入。请添加更多关于您试图缩小问题的信息。 – Bohemian
嗨波希米亚人。我有权限。但是,我已打印代码,以查看是否可以发现任何错误 –