作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在用 VBA 编写代码,允许使用 MS Excel 中的用户表单将新用户添加到数据库中。提交表单后,数据库必须自动更新。我正在使用 DMax
函数来获取表中现有的最高主键。然后我增加它以获得要添加的新用户的主键。当数据库在 MS Access 中打开时,代码可以完美运行。但是,它返回错误“未定义子或函数”。每当 MS Access 未打开时。这是出现错误时突出显示的代码:
userID = DMax("[UserID]", "subscriber_user") + 1
userID
是我的变量,UserID
是包含主键的列,subscriber_user
是数据库中表的名称。
是否需要使用 MS Access 打开数据库才能工作?是否有另一种方法可以确保数据库得到更新而无需通过 MS Access 或任何其他 IDE 打开它?
最佳答案
数据库的 DMax 是 Access VBA 函数,而不是 Excel VBA 函数。
您需要通过 DAO/ADO 连接,或者像这样创建一个 Access 对象:
Public Sub AccessDmax()
Dim userID as Integer
Dim oAccess As Object
Set oAccess = CreateObject("Access.Application")
oAccess.Visible = False
oAccess.OpenCurrentDatabase "C:\test_databases\test.accdb"
userID = oAccess.DMax("ID", "subscriber_user")
oAccess.Quit
Set oAccess = Nothing
End Sub
关于database - 未打开 MS Access 时 DMax 功能不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31698388/
我正在用 VBA 编写代码,允许使用 MS Excel 中的用户表单将新用户添加到数据库中。提交表单后,数据库必须自动更新。我正在使用 DMax 函数来获取表中现有的最高主键。然后我增加它以获得要添加
使用这行代码: AlertDialog waitingDialog = new SpotsDialog(MainActivity.this); waitingDialog.show(); 我收到以下错
我是一名优秀的程序员,十分优秀!