访问宏不工作?

时间:2011-07-20 16:19:18

标签: vba function ms-access module

我在模块中创建了一个函数:

Public Function createTable()
    Dim db As Database
    Dim tdf As TableDef
    Dim fld As Field

    Set db = CurrentDb()
    Set tdf = db.CreateTableDef("161-0363")

    Set fld = tdf.CreateField("SKUS", dbText, 30)
    tdf.Fields.Append fld

    Set fld = tdf.CreateField("Count", dbInteger)
    tdf.Fields.Append fld
End Function

然后使用“RunCode”在宏中调用此函数。但是当我运行宏时没有创建表格? 任何人都可以帮助我吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

在您的宏设计视图中,您应该说RunCode,然后在Function Name中说createTable()

如果在没有宏的情况下运行它,代码是否会创建一个表?

编辑: 将代码更新为此,然后运行宏

Public Function createTable()
   Dim db As DAO.Database
    Dim tdf As DAO.TableDef
    Dim fld As Field

    Set db = CurrentDb()
    Set tdf = db.CreateTableDef("161-0363")

    Set fld = tdf.CreateField("SKUS", dbText, 30)
    tdf.Fields.Append fld

    Set fld = tdf.CreateField("Count", dbInteger)
    tdf.Fields.Append fld

    db.TableDefs.Append tdf
    db.TableDefs.Refresh
End Function

我刚刚测试了上面的代码并创建了表格。您需要添加最后一行代码才能使其正常工作。