正如 ron tornambe 所说,访问查询中不能有多个命令。它们不支持批处理。
在对表进行更改时,VBA 代码是您的朋友:在直接操作数据库对象时,Access 中使用的数据定义语言比 VBA 中可用的语言更有限。
例如,要完全按照您的要求做:
Public Sub AddFieldAndUpdate()
' Initialise '
Dim db As DAO.Database
Dim tb As DAO.TableDef
Dim fd As DAO.Field
Set db = CurrentDb()
' Get the 103 table '
Set tb = db.TableDefs("103")
' Create a new 'test' field, 128 char long '
Set fd = tb.CreateField("test", dbText, 128)
' Set the Default value for the new field '
fd.DefaultValue = "000"
' Add the new field to the 103 table
tb.Fields.Append fd
' Now do the update
db.Execute "UPDATE 103 SET [103].Workcenter = '103';", dbFailOnError
Debug.Print "Number of Updated records: " & db.RecordsAffected
' Cleanup
Set fd = Nothing
Set tb = Nothing
Set db = Nothing
End Sub
这是一个笑话,尽管您可能想做更多的事情,例如,根据需要设置索引、默认格式等。