我想在所有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
感谢安德烈。您的最后一个点的伎俩。我会进一步修改你的建议。 –