运行时错误“3264”访问 2010 VBA

Posted

技术标签:

【中文标题】运行时错误“3264”访问 2010 VBA【英文标题】:Run-time error '3264' Access 2010 VBA 【发布时间】:2014-07-31 21:29:43 【问题描述】:

我正在尝试在 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 方法在线遵循了一些教程来创建表,并且我的代码没有偏离,所以我想这是我偶然发现的一个语法问题。

【问题讨论】:

尝试关注this example 【参考方案1】:

您需要在附加 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

【讨论】:

以上是关于运行时错误“3264”访问 2010 VBA的主要内容,如果未能解决你的问题,请参考以下文章

执行 vba 查询 ms 访问时出现运行时错误 3075

运行时错误“3164”:“无法更新字段”-访问 VBA 问题

excel vba 运行时错误

访问 VBA - 导入 *.CSV 时出现运行时错误 31519。您无法导入此文件

访问 2010 运行时中的访问 2003 应用程序运行时错误

从 Excel VBA 运行访问查询