| 网站首页 | 新闻 | 新书 | 专家 | 技巧 | 源码作品 | 工具/资源 | 商城 | 风采 | 留言 | 论坛 | 网址 | 承接 | 
您现在的位置: Access/Office中国 >> 技巧 >> Access >> OFFICE集成系统 >> 文章正文 用户登录 新用户注册
关于从ACCESS中向WORD填写数据的问题的说明         ★★★★
关于从ACCESS中向WORD填写数据的问题的说明
作者:刘小军 文章来源:本站原创 点击数: 本日:{$DayHits} 更新时间:2004-8-18 1:08:28


点击浏览该文件

 

关于从access中向WORD填写数据的问题的说明

 

一、问题来源:bbs/dispbbs.asp?boardID=2&ID=17414&page=1

解决的方法见上面附件。

 

二、解决问题的几个关键:

1.怎样在WORD空表格里填写内容;

2.填写的步骤;

3.关于主/子窗体的问题。

 

三、解决办法:

1.怎样在WORD空表格里填写内容:

access向WORD表格中填写数据需要使用TABLE对象,

Doc.Documents("模板.doc").Tables(1).Cell(Row:=2, Column:=1).Range.Text = "2" 表示在文件“模板.doc”的第1个表格的第2行第1列的格子内写上“2”。如果是第2个那就是“Tables(2)”。所以在程序里用了一个变量“intTabCount”表示现在是填写哪个表格,每当K可以被15整除(K Mod 15 = 0)时,intTabCount就会增加1。

 

2.填写的步骤:

如果看原来的问题,当程序执行完毕之后,正好是页面上需要重复的部分已经填写完毕。把现在的情况复制下来,当需要增加页时,在页面最下插入分页符然后粘贴上复制的内容则正好。

这一部分的代码我是在WORD中用录制宏的方法记录下来的。原来的录制宏代码如下:

Sub Macro1()
'
' Macro1 Macro
' 宏在 2004-8-15 由 刘小军 录制
'
    Selection.WholeStory                       '全选文本
    Selection.Copy                             '复制
    Selection.EndKey Unit:=wdStory             '将光标移到文件结尾(我是用Ctrl+End实现的)
    Selection.InsertBreak Type:=wdPageBreak    '插入分页符
    Selection.Paste                            '粘贴  
End Sub

 原本是5句代码,我分在两部分。第2部分的3句在下面的If结构里。

If K Mod 15 = 0 And K < intCount Then  '如果K到达15的倍数且小于总记录数时增加一页(等于总数的话就不加了)
    intTabCount = intTabCount + 1
    Doc.Selection.EndKey Unit:=6 'wdStory
    Doc.Selection.InsertBreak Type:=7 'wdPageBreak
    Doc.Selection.Paste
End If

代码里把参数直接用数字代替时因为只有引用了“WORD 9.0 Object Library”才能使用参数。但这样不能在安装OFFICE XP的机器上使用,降低了兼容性。

至于如果获得参数代表的数字,很简单,在WORD的VBA编辑器的立即窗口里输入:

? wdStory
6

 

3.关于主/子窗体的问题:

程序里是用DAO获得子窗体的记录集,然后再根据记录集的内容填写的。使用ADO也可以。所以,只要能取得记录集,是主窗体还是子窗体根本就不是问题。

 

4.其它要注意的问题:

a.因为模板是每次都要使用的,而且要求里面是空的才行。所以最后会用SaveAs另存一个文件名,至于起什么名可以有很多种方法。程序里是用的日期相关的名字。

b.如果一开始就让文档显示出来,则在填写数据时页面会反复闪烁,而且填写速度很慢,所以程序里是在隐藏的状态下填写,然后再显示出来。

c.现在程序里还缺少一些错误处理的部分,有待进一步改进,也欢迎大家指正。

 


点击浏览该文件

这是以前写的另外一个由access在WORD里输出报表的例子,也有些不同的东西在里面,请大家参考。

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    专 题 栏 目
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    在Word中利用Access的数
    让新建Word文档直接设置
    Word中输入文字后面显示
    快速打开Word文档 “三板
    Word文档隐私保护必学七
    Word超链接在教学中的应
    Word与Excel组合打印信封
    用Word编儿童看图识字手
    在Word中输入英语音标
    WORD技巧百分百之另类篇
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)