我想在所有ms訪問表(我將導入)中添加4列,然後根據我選擇的查詢結果更新它們。但是,我的更新查詢不起作用。任何人都可以請看看,讓我知道了解決方案在MS Access VBA中使用選擇查詢更新查詢
感謝
Dim db As DAO.Database
Dim objtbl As DAO.TableDef
Dim sqlstr As String
Dim rs As DAO.Recordset
Dim sq2 As DAO.Recordset
Dim sq3 As DAO.Recordset
Dim sq4 As DAO.Recordset
Dim sq5 As DAO.Recordset
Set db = CurrentDb
On Error Resume Next
For Each objtbl In db.TableDefs
db.Execute "ALTER TABLE " & "[" & objtbl.Name & "]" & " ADD COLUMN [Account] Text;"
db.Execute "ALTER TABLE " & "[" & objtbl.Name & "]" & " ADD COLUMN [Account_Serial] Text;"
db.Execute "ALTER TABLE " & "[" & objtbl.Name & "]" & " ADD COLUMN [Invoice_Date] Text;"
db.Execute "ALTER TABLE " & "[" & objtbl.Name & "]" & "ADD Column [LOB] Text;"
db.Execute "ALTER TABLE " & "[" & objtbl.Name & "]" & "ADD Column [LOB] Text;"
q = "Select [Field3] from " & "[" & objtbl.Name & "]" & " Where " & "[" & objtbl.Name & "].[Field1] = ""CUSTOMERRECORD"";"
Set rs = CurrentDb.OpenRecordset("Select [Field3] from " & "[" & objtbl.Name & "]" & " Where " & "[" & objtbl.Name & "].[Field1] = ""CUSTOMERRECORD"";")
Set sq2 = CurrentDb.OpenRecordset("Select Field4 from " & "[" & objtbl.Name & "]" & "Where" & "[" & objtbl.Name & "].[Field1] = ""CUSTOMERRECORD"";")
Set sq3 = CurrentDb.OpenRecordset("Select Field5 from" & "[" & objtbl.Name & "]" & "Where" & "[" & objtbl.Name & "].[Field1] = ""Customerrecord"";")
Set sq4 = CurrentDb.OpenRecordset("Select Field6 from" & "[" & objtbl.Name & "]" & "Where" & "[" & objtbl.Name & "].[Field1] = ""Customerrecord"";")
db.Execute
db.Execute "Update " & "[" & objtbl.Name & "] SET " & "[" & objtbl.Name & "].[Account] = " & rs!Field3 & ";"
Next
感謝安德烈。您的最後一個點的伎倆。我會進一步修改你的建議。 –