C++Builder如何调用access里面的宏??

wjjll123 2010-11-24 12:23:01
宏已经做好,就是不知道该如何调用,请知道的不吝赐教
...全文
101 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccrun.com 2010-11-24
  • 打赏
  • 举报
回复
通过OLE的方式创建Access对象, 然后用DoCmd方法来调用宏
ccrun.com 2010-11-24
  • 打赏
  • 举报
回复
有密码的话,在 OpenCurrentDatabase 这一句可能就失败了. 需要多加一个参数.

vAccess.OleProcedure("OpenCurrentDatabase", lpMdbFile, true, "psd=你的密码");

wjjll123 2010-11-24
  • 打赏
  • 举报
回复
妖哥 运行到vAccess.OlePropertyGet("DoCmd").OleProcedure("RunMacro", "宏的名称");这一句代码的时候程序就死了,而且我的数据库是有密码的,不知道在哪里能加上密码啊???
ccrun.com 2010-11-24
  • 打赏
  • 举报
回复
简单例子:

Variant vAccess;
// open the Access application}
try
{
vAccess = GetActiveOleObject("Access.Application");
}
catch(...)
{
vAccess = CreateOleObject("Access.Application");
}

// 显示Access界面,如需隐藏,将参数换为false
vAccess.OlePropertySet("Visible", true);

// 打开数据库
char lpMdbFile[] = "D:\\ccrun\\123.mdb";
vAccess.OleProcedure("OpenCurrentDatabase", lpMdbFile, true);

vAccess.OlePropertyGet("DoCmd").OleProcedure(
"RunMacro", "宏的名称");

//
// ...
wjjll123 2010-11-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ccrun 的回复:]
通过OLE的方式创建Access对象, 然后用DoCmd方法来调用宏
[/Quote]
妖哥,能说具体点不,我是新手。。。。

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧