">="& CStr(Anumber1) & " And " & AFieldname & "<=" & CStr(Anumber2) & _
"ORDER BY " & AFieldname & ""
S h e e t s(X l s h e e t).C e l l s(S t a r t r o w,S t a r t c o l u m n). CopyFromRecordset _ con.Execute(Sql)
con.Close
Set con = Nothing
End Function
注:按VBA规定,一行写不下时,可用“_ ”(换行符+空格)的形式写到下一行,下同。
为了从前台就能够指定和修改各形式参数,在Excel中新建一个“基础信息”工作表(如图1所示),在相应单元格中写明各Access文件的路径、名称、字段开始序号和结束序号等信息,后台程序中通过引用这些单元格的地址来得到相关信息。由于采用的是地址引用,故修改单元格内容信息后无需更改后台程序。相比从后台修改代码,更加直观、方便。特别是如果每次Access文件或文件夹存放的位置固定,就无需再指定路径。
数据库4为多个Access文件构成的文件夹,只给出了路定列处的数值[2]。函数语法为:VLOOKUP(查目标,查范围,返回值的列号,精确或模糊查)。该函数一次只能匹配一个单元格,尽管Excel的“拖动”功能可实现公式的复制,但当数据行很多时,拖动操作较繁琐,且统计中要多次使用Vlookup函数,为此编制了“VlookupRenyi”程序,循环调用Vlookup函数,将目标工作表目标列中指定范围内的每行数据在“XX数据源”表查范围的首列进行精确查,如到就将查范围中的返回列数值写到与目标工作表中某行对应的结果列中,最终实现了比VLookup函数更全面灵活的效果。其语法为:VlookupRenyi(结果列号,查目标所在工作表,查目标起始行号,查目标结束行号,查目标列号,查范围所在工作表,查范围,返回值的列号)。
下例中,通过Call Vlookuprenyi(3,“Sheet1”,2, 7, 2, “Sheet1”, “E:G”,2)对Sheet1中第B列(第2列)中第2到7行的每个“条码号”在Sheet1 “E:G”范围的首列进行精确查,每次如到,就将“E:G”范围的第2列“高度”数据写到第3列(第C列)对应行的单元格内。如图2所示。
图2 数据匹配示意图
S u b V l o o k u p r e n y i(R e s u l t C o l,D e s t Ta b l e n a m e, DestRowStart, DestRowEnd, DestColFind, Origntablename, tablerange, colindex)
For h = DestRowStart To DestRowEnd
Sheets(DestTablename).Cells(h,ResultCol)= _ Application. VLookup(Sheets(DestTablename).Cells(h,DestColFind), _
图1 基础信息工作表
China Computer&Communication 数据库技术
Sheets(Origntablename).Columns(tablerange), colindex, 0) Next h
End Sub
2.3 用数据透视表完成各类汇总分析
数据透视表是EXCEL中的高效数据分析工具,可以把无穷多的行列数据转换成有意义的数据表示。创建数据透视表后可以按照任何想到的方式重新安排信息,也可以插入特殊公式执行新的计算[2]。下面以一个实例来进行说明。
若以“批号”为单位,对各批中所有“条码号”对应的“高度”进行统计,则选择A到C列区域,在J1单元格插入数据透视表。将数据透视表的行标签选为“批号”;将“高度”字段拖放入“数值”区域,并将其设为所需的统计项目(如“计数项”“平均值”等),不同统计项目间可通过“值字段设置”来进行切换,也可同时显示几个统计项目,只要将“高度”拖放在“数据”区域几次并设置各自的“值字段值”即可(如图3所示)。
vba编程技巧为使对所有项目的统计能够自动完成,没有采用这种人工建立透视表再拖动指定的方式,而是使用VBA程序编制了数据透视表模块,自动生成所需报表。用VBA编制数据透视表的方法在文献[3]中有详细描述。
3 结 语
以上从原理上对主要方法进行了介绍。利用上述方法,成功实现了对某产品数据的自动快速统计,提高了工作效率。
参考文献
[1]戴维斯.VBA从入门到精通(第2版)[M].杨密,杨乐,柯树森,译.北京:电子工业出版社,2008:513-543.
[2]渥肯贝奇.Excel2007宝典[M].杨艳,刘殷业,胡娟,译.北京:人民邮电出版社,2008.
[3]杰莱,亚历山大.Excel2007数据透视表完全剖析[M].潘洪涛,解巧云,译.北京:人民邮电出版社,2008:215-274.
 图3 数据透视表的使用

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。