Ms access Access运行时2010操作查询警告
我有一台电脑没有安装MS Access,因此我安装了免费的运行时版本,这样电脑就可以用于数据库 我已经建立了数据库,并在一个问题之外运行。运行操作查询时,它们前面会有一条警告消息。我已尝试更改信任中心设置,但仍收到警告Ms access Access运行时2010操作查询警告,ms-access,ms-access-2010,regedit,Ms Access,Ms Access 2010,Regedit,我有一台电脑没有安装MS Access,因此我安装了免费的运行时版本,这样电脑就可以用于数据库 我已经建立了数据库,并在一个问题之外运行。运行操作查询时,它们前面会有一条警告消息。我已尝试更改信任中心设置,但仍收到警告 是否有方法停止此警告消息并在运行时版本中自动运行查询 老实说,我真的不想在VBA中docmd.setwarnings=false。我认为,如果我的完整版本工作正常,那么我的运行时版本也应该正常 是否可以对regedit中的注册表项执行某些操作 编辑 警告信息如下: “您将
- 是否有方法停止此警告消息并在运行时版本中自动运行查询
docmd.setwarnings=false
。我认为,如果我的完整版本工作正常,那么我的运行时版本也应该正常
- 是否可以对
中的注册表项执行某些操作regedit
DAO.Database.Execute
方法。您可以对DAO.Database
使用CurrentDb
,或者将对象变量设置为CurrentDb
并使用。从该变量执行:
Dim db作为DAO.Database
Set db=CurrentDb
db.执行“过期查询”,dbFailOnError
对象变量方法允许您检查db.RecordsAffected
并获取上次使用的自动编号值*请参见下面的:Debug.Print db.OpenRecordset(“选择@标识”)(0)
另外,.Execute
也很灵活,因为它将接受保存的查询(如上所述)的名称或SQL语句。所以你可以这样做
Dim strDelete作为字符串
strDelete=“从tblFoo中删除;”
执行strDelete,dbFailOnError
MsgBox db.RecordsAffected&“已删除记录”
*从该对象变量执行的最后一次插入所使用的自动编号值
运行操作查询时,它们前面会有一条警告消息。我
已尝试更改信任中心设置,但我仍然得到
警告
这些操作查询警告和确认与信任中心设置无关。如果您想全面抑制它们,请查看访问选项->客户端设置,然后向下滚动到“确认”部分。但我不建议你那样做
按照Christopher的建议,使用DAO.Database.Execute
方法。您可以对DAO.Database
使用CurrentDb
,或者将对象变量设置为CurrentDb
并使用。从该变量执行:
Dim db作为DAO.Database
Set db=CurrentDb
db.执行“过期查询”,dbFailOnError
对象变量方法允许您检查db.RecordsAffected
并获取上次使用的自动编号值*请参见下面的:Debug.Print db.OpenRecordset(“选择@标识”)(0)
另外,.Execute
也很灵活,因为它将接受保存的查询(如上所述)的名称或SQL语句。所以你可以这样做
Dim strDelete作为字符串
strDelete=“从tblFoo中删除;”
执行strDelete,dbFailOnError
MsgBox db.RecordsAffected&“已删除记录”
*从该对象变量执行的最后一次插入所使用的自动编号值 为什么警告不出现在我的access完整版本中,而只出现在运行时版本中?我认为这些设置保存在主机注册表的某个位置。因此,您必须将它们添加到使用运行时的计算机的注册表中。但我不会这么做,我希望阻止你这么做使用DAO.Database.Execute
plusdbFailOnError
代替。只需使用currentdb.Execute“过期查询”
效果很好,谢谢。我不知道为什么打开一个查询不起同样的作用:/DoCmd.OpenQuery
和DoCmd.RunSQL
触发那些通知/确认DAO.Database.Execute
不执行。我不能确切地说为什么。。。这正是微软设计它们的方式。:-)为什么警告不出现在我的access完整版本中,而只出现在运行时版本中?我认为这些设置保存在主机注册表的某个位置。因此,您必须将它们添加到使用运行时的计算机的注册表中。但我不会这么做,我希望阻止你这么做使用DAO.Database.Execute
plusdbFailOnError
代替。只需使用currentdb.Execute“过期查询”
效果很好,谢谢。我不知道为什么打开一个查询不起同样的作用:/DoCmd.OpenQuery
和DoCmd.RunSQL
触发那些通知/确认DAO.Database.Execute
不执行。我不能确切地说为什么。。。这正是微软设计它们的方式。:-)