Access写数据库程序,还是蛮有用的。快捷、方便,容易上手。做报表也是。
一个香港发过来的snp文件。打开来看,是一个很复杂的报表。谷歌了一下,才知道snp是报表快照文件。
-----------------------------
http://zhidao.baidu.com/question/15802334
snp是报表快照文件。可以用SnapShot Viewer打开。
默认情况下,在首次创建报表快照时,Access 会自动安装 Snapshot Viewer。还可以从安装程序中安装 Snapshot Viewer,或
者从 Microsoft 下载中心下载用于 Access 2003、2002、2000 和 97 的 Snapshot Viewer
-----------------------------
于是自己动手,想测试一下snp。
打开Access新建一个mdb,弄一个简单的表格tblUser见下图1。由这个表格创建一个表报rptUser,然后打开报表见下图2。看能不能导出报表出来。在Access的文件菜单栏里面找到【导出】导出时候选择的保存文件类型:快照格式。在繁体版的Access的是【汇出】文件类型是:Snapshot格式。导出成功,直接打开导出的snp文件见图3。
以为以前一直没有发现这个功能,所以悲喜各半。因为以前写的数据库程序做复杂表报都是导出到Excel里面,要用很多很多的代码来控制报表的格式和填充的数据,有如:生产单,发货单,报价单,工厂合同书,包装清单等等。
于是想到,香港导出来那复杂的报表是自动的,程序设置自动,应该所以可能是用VBA吧。
在http://www.bigresource.com/VB-Snapshot-Viewer-format-in-Visual-Basic-not-VBA--l2yhcWh6xk.html 这个链接中得到提
示。
于是建一个窗体,用一个按钮测试一下,后台VBA代码:
Private Sub Command0_Click()
DoCmd.OpenReport "rptUser", acViewPreview
DoCmd.OutputTo acOutputReport, "rptUser", acFormatSNP, "c:/rptViewUser.snp"
End Sub
结果也可以成功导出到c盘:rptViewUser.snp快照文件。打开一看和原来在Access浏览报表结果一样。
Access功能要挖掘还是很多的,也要我们会应用。佩服那边人家用Access写出好用的系统。
附件:
图1:Access表格
图2:Access报表
图3:直接打开snp文件。