通过记录集在Access中添加列时出错

时间:2016-05-12 07:38:10

标签: sql ms-access ms-access-2010 recordset alter

我正在尝试使用adodb.recordset

将列添加到MS Access 2010中的现有表
rst.Open "ALTER TABLE tblPatients ADD COLUMN husband_profession TEXT", conn, adopendynamic, adlockoptimistic

我收到以下错误

  

ADODB.Recordset错误'800a0bb9'

     

参数类型错误,超出可接受的范围,或者是   相互冲突。

1 个答案:

答案 0 :(得分:2)

ADODB.Recordset是一个旨在包含记录的对象。

ALTER TABLE语句不会返回记录。

这是rst.Open冲突的原因---您没有为Open方法提供Recordset的有效数据源。

假设您的conn对象变量是有效的开放式连接,请使用其Execute方法执行ALTER TABLE,如下所示:

conn.Execute "ALTER TABLE tblPatients ADD COLUMN husband_profession TEXT"

请注意,未指定大小的Access SQL TEXT类型实际上会在从ADO执行时为您提供备注字段。如果您想要一个简单的文本字段,请在TEXT关键字后面加上一个大小。 Access文本字段的最大大小为255个字符。如果您愿意,可以用较小的数字替换。

conn.Execute "ALTER TABLE tblPatients ADD COLUMN husband_profession TEXT (255)"