证券公司法人清算系统解决方案
StructureOnly:=False '只导入表的结构,还是结构、数据都导入
End sub
4.2 数据访问技术
本系统选用DAO(Data Access Objects)技术。
DAO代码可以创建、修改和删除Jet引擎对象,使用它可以完成以下工作:
● 分析已存在的数据库结构
● 增加或修改表和查询
● 创建新数据库
● 通过修改查询所基于的SQL来改变查询定义
● 遍历记录集
● 修改表数据
4.3 展示数据
在Office解决方案中有许多不同的展示数据的方法,如何建构报表依赖于解决方案是如何设计的以及数据存储在什么地方。本系统解决方案以Access为基础,用户可以通过Access窗体和数据访问页面操作数据;同时若需要在Excel中观察和操作数据,以便以最大的灵活性来创建定制报表,可以把数据从Access中导入到Excel。
在Access运行的代码里使用Automation创建Excel的查询表QueryTable或PivotTable报表。使用Autom
ation可以使用户对从数据库到Excel转换数据的过程进行更多的控制,还可以使用Automation来格式化报表,过滤数据,创建统计图等。用户能够在Access中简单地单击一个按钮,就得到Excel中已格式化的报表。
下面的示例创建一个新的数据库查询并把数据返回到工作表,建立动态报表。
要在VBA中创建一个新的查询表,使用QueryTables集合的Add方法。QueryTables集合从属于Worksheet对象,并且包含了该工作表的所有QueryTable对象。创建了一个新的查询表后,必须使用QueryTable对象的Refresh方法在查询表中显示数据。
Dim dbReset As Database
Dim rstReset As Recordset
Dim wksNew As Excel.Worksheet
Dim qtbData As Excel.QueryTable
......
Set rstReset = dbReset.OpenRecordset("营业部")
Set qtbData = _
wksNew.QueryTables.Add(rstReset, wksNew.Range("A4"))
Set qtbData = wksNew.QueryTables.Add( _
Connection:=rstReset, _
Destination:=wksNew.Range("A4"))
With qtbData
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
qtbData.Refresh
4.4 使用Microsoft Outlook对象
可以以三种方式使用Outlook的对象模型:
● 编写在本地工程文件或与Outlook本地安装相关联的COM加载项中运行的VBA代码。
● 使用Outlook窗体中自带的脚本环境,该窗体用于显示诸如消息和约会这样的项目。
● 通过Automation在其它Office应用程序或支持VBA的其它应用程序中使用Outlook。
本系统使用第三种方式。在使用VBA访问Outlook对象、方法、属性之前,必须首先单击Visual Basic编辑器的Tools菜单项下的Reference来设置对Microsoft Outlook对象库的引用。
下面的示例InitializeOutlook过程创建一个新的、隐藏的Outlook实例;CreateMail过程创建一个邮件消息,设置收件人、附件、主题和消息内容,然后发送邮件。
Public golapp As Outlook.Application
Public gnspNamespace As Outlook.Application
Function InitializeOutlook() As Boolean
' This function is used to initialize the global Application
On Error GoTo Init_Err
Set golapp = New Outloo