【问题标题】:Access VBA unable to create tableAccess VBA无法创建表
【发布时间】:2012-03-28 15:41:40
【问题描述】:

我在使用 VBA 创建 Access 表,然后通过 open-recordset 访问它时遇到问题。我的目标是将记录写到表中。如果我手动创建表,我的代码可以完美运行。如果该表不存在,则程序在打开记录集尝试时终止。错误信息是:

“MSO Access 数据库引擎找不到对象‘myTable’

其中“myTable”是 argTable 的值。这是sn-p的代码:

Dim tbl As DAO.TableDef
Dim db As DAO.Database
Dim fld As DAO.Field

Set db = CurrentDb()
Set tbl = db.CreateTableDef(argTable)
Set fld = tbl.CreateField("F1")

Set rstAccessTableOut = db.OpenRecordset(argTable, dbOpenTable)

我做错了什么? (注意我不想使用 SQL。)

【问题讨论】:

    标签: ms-access vba


    【解决方案1】:

    完成添加字段后,您必须将新表 def 附加到集合中才能使用它。还需要附加文件

    Dim tbl As DAO.TableDef
    Dim db As DAO.Database
    Dim fld As DAO.Field
    
    Set db = CurrentDb()
    Set tbl = db.CreateTableDef(argTable)
    Set fld = tbl.CreateField("F1", dbText, 20)
    
    tbl.Fields.Append fld
    
    db.TableDefs.Append tbl
    
    Set rstAccessTableOut = db.OpenRecordset(argTable, dbOpenTable)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-17
      • 1970-01-01
      相关资源
      最近更新 更多