2014-07-22 48 views
0

我有下面的VBA代碼,我試圖從另一個表中更新列CountryID(短文本字段)的列CountryID(短文本字段) StoreID(短文本字段)匹配。儘管我無法讓這段代碼工作,但對於我來說,當滿足條件時用另一個表中的相同字段更新一個SQL字段

Private Sub btnUpdateColumn2_Click() 
    Dim t As TableDef 
    For Each t In CurrentDb.TableDefs 
     If t.Name Like "PeriodDate_*" Then DoCmd.RunSQL " UPDATE " & t.Name & " SET " & t.Name & ".CountryID = dlookup("[CountryID]", Structure, "[StoreID]" = [" & t.Name & "].[StoreID]) WHERE [" & t.Name & "].StoreID IS NULL; " 
    Next 
End Sub 

任何幫助將不勝感激。

回答

1

爲什麼你通過TableDef對象循環複雜化?難道不是那樣簡單,

CurrentDB.Execute "UPDATE theTableName INNER JOIN secondTable ON theTableName.StoreID = secondTable.StoreID_FK SET " & _ 
        "theTableName.CountryID = secondTable.fieldName;" 
+0

它實際上是一個系列,它是通過 – user3150260

+0

去反正表,爲你所做的上述方案的工作? – PaulFrancis

+0

它的工作。我只是將它追加到一步,運行它,然後再將其拆分。感謝您的幫助 – user3150260

相關問題