通过For循环迭代SQL语句(MS Access)
在我的测试数据库中,我尝试基于多个条件执行迭代更新语句 在我试图更新的表中,tblSales_语言中有列 销售额 _LanguageID、Language\u ID、Sales\u CountryID、SalesID和CountryID 作为参考表,我使用tblSales_Country,它有Sales_CountryID、CountryID、SalesID 我的目标是更新tblSales_语言中的列,这些列包含除Sales_CountryID之外的所有列的信息-我试图从参考表tblSales_Country中提取这些信息 恕我直言,我当前的代码如下:通过For循环迭代SQL语句(MS Access),sql,ms-access,vba,ms-access-2007,Sql,Ms Access,Vba,Ms Access 2007,在我的测试数据库中,我尝试基于多个条件执行迭代更新语句 在我试图更新的表中,tblSales_语言中有列 销售额 _LanguageID、Language\u ID、Sales\u CountryID、SalesID和CountryID 作为参考表,我使用tblSales_Country,它有Sales_CountryID、CountryID、SalesID 我的目标是更新tblSales_语言中的列,这些列包含除Sales_CountryID之外的所有列的信息-我试图从参考表tblSales_
Dim i as integer
Dim SQL As String
For i = 1 to 5
SQL = "UPDATE tblSales_Language
&_ SET tblSalesLanguage.SalesCountryID = "
& DLOOKUP("Sales_CountryID", "tblSales_Country", "[SalesID]" = i)"
Exit For
我的代码在语法上不正确,这是否与我的语句中没有WHERE有关
谢谢。查看您现有的代码,有几个问题需要纠正:行继续;b SQL语法;c循环中缺少“下一个”;我从不执行你的SQL。因此,使用您的代码: 备选案文1: 如果“SalesCountryID”不是数字,则需要将
Dim i As Integer
Dim SQL As String
For i = 1 To 5
SQL = "UPDATE tblSales_Language " & _
"Set tblSalesLanguage.SalesCountryID = " & _
DLookup("Sales_CountryID", "tblSales_Country", "[SalesID]" = i) & _
" Where SalesID = " & i & ";"
Debug.Print SQL
CurrentDb.Execute SQL
Next
备选案文2:
使用设计向导创建一个查询,该查询将连接公共键上的两个表,按SalesID=1到5筛选;执行该查询或SQL