Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Access VBA:无法添加新列,但出现错误3211_Vba_Ms Access_Runtime Error - Fatal编程技术网

Access VBA:无法添加新列,但出现错误3211

Access VBA:无法添加新列,但出现错误3211,vba,ms-access,runtime-error,Vba,Ms Access,Runtime Error,我正在尝试使用VBA将一个新列/字段添加到新创建的表和新创建的数据库中,即表或数据库中完全没有任何内容。我的代码如下: Sub test() CurrentDb.Execute ("ALTER TABLE Table1 ADD COLUMN Column2 Text;") End Sub 但是,这会导致以下错误消息: Run-time error '3211': The database engine could not lock table 'Table1' b

我正在尝试使用VBA将一个新列/字段添加到新创建的表和新创建的数据库中,即表或数据库中完全没有任何内容。我的代码如下:

Sub test()
    CurrentDb.Execute ("ALTER TABLE Table1 ADD COLUMN Column2 Text;")
End Sub
但是,这会导致以下错误消息:

Run-time error '3211':

The database engine could not lock table 'Table1' because it is already in use by another person or process.
我是唯一访问表的用户。运行其他VBA代码片段可以正常工作,但这段特定代码会引发此错误


我尝试删除数据库并创建一个新的数据库;关闭所有访问实例;并重新启动我的计算机,但此错误仍会发生。

如果打开表,将引发此错误


因此,在调用函数之前,请确保table1已关闭。

是否尝试压缩并修复?除主访问窗口外,您还有其他窗口打开吗?是否有可能打开隐藏窗口的启动宏?如果使用表设计器添加列,会发生什么情况?@ZevSpitz不认为compact和repair会有什么不同,因为我很乐意删除数据库并从头创建一个全新的数据库来测试此代码段。唯一打开的窗口是主访问窗口和内置VBA IDE。使用UI添加列效果良好。