Ms access Access运行时2010操作查询警告

Ms access Access运行时2010操作查询警告,ms-access,ms-access-2010,regedit,Ms Access,Ms Access 2010,Regedit,我有一台电脑没有安装MS Access,因此我安装了免费的运行时版本,这样电脑就可以用于数据库 我已经建立了数据库,并在一个问题之外运行。运行操作查询时,它们前面会有一条警告消息。我已尝试更改信任中心设置,但仍收到警告 是否有方法停止此警告消息并在运行时版本中自动运行查询 老实说,我真的不想在VBA中docmd.setwarnings=false。我认为,如果我的完整版本工作正常,那么我的运行时版本也应该正常 是否可以对regedit中的注册表项执行某些操作 编辑 警告信息如下: “您将

我有一台电脑没有安装MS Access,因此我安装了免费的运行时版本,这样电脑就可以用于数据库

我已经建立了数据库,并在一个问题之外运行。运行操作查询时,它们前面会有一条警告消息。我已尝试更改信任中心设置,但仍收到警告

  • 是否有方法停止此警告消息并在运行时版本中自动运行查询
老实说,我真的不想在VBA中
docmd.setwarnings=false
。我认为,如果我的完整版本工作正常,那么我的运行时版本也应该正常

  • 是否可以对
    regedit
    中的注册表项执行某些操作
编辑

警告信息如下:

“您将要运行更新查询,该查询将修改您数据库中的数据 表。是否确实要运行此类型的操作查询?”

运行操作查询时,它们前面会有一条警告消息。我 已尝试更改信任中心设置,但我仍然得到 警告

这些操作查询警告和确认与信任中心设置无关。如果您想全面抑制它们,请查看访问选项->客户端设置,然后向下滚动到“确认”部分。但我不建议你那样做

按照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&“已删除记录”

*从该对象变量执行的最后一次插入所使用的自动编号值

运行操作查询时,它们前面会有一条警告消息。我 已尝试更改信任中心设置,但我仍然得到 警告

这些操作查询警告和确认与信任中心设置无关。如果您想全面抑制它们,请查看访问选项->客户端设置,然后向下滚动到“确认”部分。但我不建议你那样做

按照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
plus
dbFailOnError
代替。只需使用
currentdb.Execute“过期查询”
效果很好,谢谢。我不知道为什么打开一个查询不起同样的作用:/
DoCmd.OpenQuery
DoCmd.RunSQL
触发那些通知/确认
DAO.Database.Execute
不执行。我不能确切地说为什么。。。这正是微软设计它们的方式。:-)为什么警告不出现在我的access完整版本中,而只出现在运行时版本中?我认为这些设置保存在主机注册表的某个位置。因此,您必须将它们添加到使用运行时的计算机的注册表中。但我不会这么做,我希望阻止你这么做使用
DAO.Database.Execute
plus
dbFailOnError
代替。只需使用
currentdb.Execute“过期查询”
效果很好,谢谢。我不知道为什么打开一个查询不起同样的作用:/
DoCmd.OpenQuery
DoCmd.RunSQL
触发那些通知/确认
DAO.Database.Execute
不执行。我不能确切地说为什么。。。这正是微软设计它们的方式。:-)