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

时间:2015-10-20 18:37:11

标签: sql access-vba ms-access-2007

在我的测试数据库中,我试图根据多个条件执行迭代UPDATE语句。

在我的表格中,我正在尝试更新,tblSales_Language,我有列 Sales _LanguageID , Language_ID, Sales_CountryID, SalesID, & CountryID

作为参考表,我使用tblSales_Country,其中Sales_CountryID, CountryID, SalesID

我的目标是UPDATE tblSales_Language中的列,其中包含除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的事实有关?

感谢。

1 个答案:

答案 0 :(得分:0)

查看现有代码,需要纠正一些问题:(a)行继续; (b)SQL语法; (c)遗失'下一步'在循环; (d)永远不要执行你的SQL。所以使用你的代码:

选项1: 如果' SalesCountryID'不是数字,您需要附上

var mySchema = new Schema({
    district: {
        type: String,
        trim: true,
        unique: true,
        required: true
    },
    area: GeoJSON.FeatureCollection
 });

 mySchema.path('area').index({ type: '2dsphere'});

选项2:

创建一个查询(使用设计向导),它将连接公共密钥上的两个表,按SalesID = 1到5过滤;执行该查询(或SQL)