数据库VBA【VBA、Word和数据库的联合编程】.docx
-
资源ID:35618966
资源大小:16KB
全文页数:2页
- 资源格式: DOCX
下载积分:6金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
数据库VBA【VBA、Word和数据库的联合编程】.docx
1数据库数据库 VBAVBA【VBAVBA、WordWord 和数据库的联合编程】和数据库的联合编程】在实际工作中,常常需要将数据库中的数据放在 Word 文挡中。例如学校每期都要将学生的成绩填入到通知书中寄发给学生(家庭)。传统的实现方法是在Word 手工输入或用数据库软件编写一个专门的程序(模块)来完成此项工作。本文采用 VBA 作为开发语言,用宏命令的方法实现了 Access 数据库或 foxpro 数据库中的数据在 Word 中的自动成批替换。先在 Word 中建立一个名为通知书.dot 的模板,将通知书中固定的文字内容输入到该模板中,将变动的文字内容(取数据库中的字段值)设置成书签(右图中的 name、math 等)。为了编程方便,书签名可取数据库表中相应的字段名。完成后存入 Office 的 Templates(模板)目录下。要实现VBA与数据库MicrosoftAccess97的连接,在Word中选主菜单工具宏宏名打开VisualBasic编辑器;选VBA主菜单条上工具菜单项下的引用命令,激 活 引 用 对 话 框 , 从 可 使 用 的 引 用 列 表 中 选 择MicrosoftDAO2.5/3.5CompatibilityLipay 一项,然后单击确定按钮,把它引用到工程中来。接下来在模板中编写出一条宏命令,直接在 Word 中用程序代码实现对数据库的读取。 对Access 数据库, 用语句 Setmd=DBEngine.OpenDatabase(成绩库.mdb)打开名为成绩库.mdb 的数据库,用语句 Setrs=md.OpenRecordset(学生成绩表,dbOpenTable)打开数据库中的表名为学生成绩表的记录集, 本命令只对记录集进行查询,为了提高查询速度,选择了快照 dbOpenSnapShot 类型的记录。对于foxpro的dbf数据库,用语句Setmd=OpenDatabase(d:grade学生成绩表 ,False,False,foxpro2.5)打开名为成绩库.dbf 的数据库,用语句Setrs=md.OpenRecordset(学生成绩表)的记录集。 因为数据库中一条记录对应一个学生,每个学生都要打印一份通知书,都要用通知书的内容(包括书签),要将模板中的通知书全部内容复制到一个新建的临时文档中,处理完一条记录后,把通知书内容从新建的临时文挡中复制过来供下一条记录使用。对于每个通知书(对应一条记录), 用循环将数据表中的字段名用数组的形式保存,再根据通知书中的书签名与保存的字段名比较,如果存在则用语句2mydoc1.Bookmarks(i).Select 选 择 的 书 签 名 , 用 数 据 表 中 相 应 的 字 段 值(rs.Fields(字段名)来替代文档中的所选择的书签名。右图为运行宏命令后的一个通知书。