ms-access - 运行时错误 '3264' Access 2010 VBA

标签 ms-access vba runtime-error dao

我正在尝试在Access 2010中使用VBA宏创建一个新表来存储一些输出,但是我无法执行仅创建上述空表的相关代码的基础工作:

Dim dbs As DAO.Database
Dim emptyTdf As DAO.TableDef
Dim rs, emptyRs As DAO.Recordset
Dim fld, emptyFld As DAO.Field
Dim fldnm As String
Dim fldv As Variant
Dim isEmptyField As Boolean



Set dbs = CurrentDb
Set rs = dbs.OpenRecordset("AP")
Set emptyTdf = dbs.CreateTableDef("AP_Empty")
Set emptyFld = emptyTdf.CreateField("HID", dbText, 255)
dbs.TableDefs.Append emptyTdf 

最后一行会引发运行时错误。我已经在线学习了一些使用DAO方法创建表的教程,并且我的代码没有偏离,所以我想这是我偶然发现的语法陷阱。

最佳答案

您需要先将字段附加到TableDef,然后再附加TableDef本身:

Dim dbs As DAO.Database
Dim emptyTdf As DAO.TableDef
Dim rs, emptyRs As DAO.Recordset
Dim fld, emptyFld As DAO.Field
Dim fldnm As String
Dim fldv As Variant
Dim isEmptyField As Boolean

Set dbs = CurrentDb
Set rs = dbs.OpenRecordset("AP")
Set emptyTdf = dbs.CreateTableDef("AP_Empty")
Set emptyFld = emptyTdf.CreateField("HID", dbText, 255)

'Append your created field.
emptyTdf.Fields.Append emptyFld

dbs.TableDefs.Append emptyTdf

'Just so your collections and the db window is refreshed.
dbs.TableDefs.Refresh
Application.RefreshDatabaseWindow

关于ms-access - 运行时错误 '3264' Access 2010 VBA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24152505/

相关文章:

python - 语法错误 : Non-ASCII character '\xd1'

excel - 强制 COM 服务器保持打开状态

vba - Excel VBA : setting font style and size while adding text to MS-Word

python - Python 中的递归?运行时错误 : maximum recursion depth exceeded while calling a Python object

sql - 将交易记录分组到一个单元格中

delphi - 如何使用 Delphi 授予海拔高度

sql - 无法弄清楚 Access SQL 语法错误

excel - 使用 Excel VBA 编写和格式化 Word 文档

android - 在 Activity 上下文之外启动新的 Activity。

django - Django内部服务器错误(接受1个参数(给定2个))