Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

吧access中把数据写到用word制作好的表格中作为报表

Dcaiyule  发表于:2012-08-06 09:55:01  
复制

那位高手知道:如何在access中把数据写到用word制作好的表格中(有续表)作为表报的?

 

Top
学习者 发表于:2012-08-07 00:23:44
cspa 发表于:2012-08-07 16:19:01

word表格已经做好(相当于有了一个模板),Access只是往里填写字段里的信息,可用以下代码:

 

首先打开word模板文档,然后:

With MyWord.Documents("word文档名.doc")                                           '这里MyWord是已定义并打开的word对象       

    .Tables(b).Cell(Row:=x, Column:=y).Range.Text =rs.Fields(i).Value             '这里b是文档中的表格序号(从0开始),x是表行号,y是表列号

end with

 

这样就可实现向word文档中的b表的x行y列填写rs.Fields(i).Value的信息。            



Dcaiyule 发表于:2012-08-10 23:26:24

b  就是页码?  如果是的话,word文档的表格数量是不定的啊.

另外:要根据记录数自动自动转行,专页,增加续表页码?

谢谢



cspa 发表于:2012-08-13 16:54:47

b不是页码,是word中表的序号。一个word中可能有n个表,在word中用Tables(0)、Tables(1)、Tables(2)...Tables(n)表示。用Tables(b).Cell(Row:=x,Column:=y)可以指向word文档中b表的x行,y列。

 

office成员间数据传递、互用很方便,效率也高。我个人认为用access+word或access+excel实现报表输出比用access自带报表要灵活的多,方便的多。可以处理任意复杂的报表,还可以充分结合利用word和excel的强大功能。我的所有报表从不用access自带报表,全部用word或excel实现。

 

我看了你上传的表格实例,用access是可以实现自动填写的。你提出的问题(如续表、增加表、增加或减少行或列、表格单元格合并与拆分、表格合并与拆分、表中表等)全部可用技巧解决,可以说没有做不到,就怕想不到。但是问题是你必须了解、掌握VBA,结合你的数据结构,一句一句地写出程序代码,细心调试,把可能出现的情况都考虑进去,才能准确实现你的意图。这不是几句话,一、二个例子能说清楚的。你可以多看看论坛中的相关例子,要把例子吃透,读懂每一句程序语句、每一个标点的作用,细心体会。不要怕一个例子读不懂,可以几个例子交替看,还可以利用调试手段,如添加中断等,逐句观察、分析语句的作用。再不行把具体问题向老师提出,求得解答。例子看懂后结合你的需求,试着写些程序实践一下,逐步体会积累经验,这个过程别人是代替不了的。祝你成功。



蔡 发表于:2012-08-15 11:15:08

真的非常感谢。确实:复杂的表格ACCESS很难做。我才想这样处理。我会试试的。再次感谢。



总记录:5篇  页次:1/1 9 1 :