Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过For循环迭代SQL语句(MS Access)_Sql_Ms Access_Vba_Ms Access 2007 - Fatal编程技术网

通过For循环迭代SQL语句(MS Access)

通过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_

在我的测试数据库中,我尝试基于多个条件执行迭代更新语句

在我试图更新的表中,tblSales_语言中有列 销售额 _LanguageID、Language\u ID、Sales\u CountryID、SalesID和CountryID

作为参考表,我使用tblSales_Country,它有Sales_CountryID、CountryID、SalesID

我的目标是更新tblSales_语言中的列,这些列包含除Sales_CountryID之外的所有列的信息-我试图从参考表tblSales_Country中提取这些信息

恕我直言,我当前的代码如下:

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