2011-03-20 98 views
2

我叫Access宏从vb.net像这样:调用Access宏

Acc.DoCmd.RunMacro("Macro1") 

在接入宏有许多OpenQuerys和MSGBOX有消息说“数据进行”结尾。

当我从vb.net执行宏时,它显示数据完成消息,然后完成。但是,当我分析表格以查看数据是否已被追加时,它并不是。

当我从Access内运行相同的宏,它工作正常。它确实显示许多消息,例如“您即将运行追加查询以修改您的查询中的数据”,而且我点击“是”,确实需要稍微延长一点,但确实如此。 在VB.NET中,我得到的唯一消息是最终的消息框。

我也曾尝试:

Acc.SetOption("Confirm Action Queries", 0) 
Acc.SetOption("Confirm Document Deletions", 0) 
Acc.SetOption("Confirm Record Changes", 0) 

从内部VB.NET,但无济于事执行宏之前。仍然工作相同。

有没有办法解决它?

编辑:我的Access数据库是MDB文件

+0

这看起来像是一种可怕的做事方式。为什么不直接运行SQL命令,而不是使用Access自动化? – 2011-03-24 20:11:24

回答

2

我认为这个问题是与宏中的UI消息: 像“您运行追加查询将修改数据。它只表示许多消息在你的查询中“并且我点击是

Access中有一个选项可以禁止这些确认查询,你会希望它们被压缩在.mdb文件中。看起来像试图从VB压制他们是行不通的。