证券公司法人清算系统解决方案
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 Outlook.Application
InitializeOutlook = True
Init_End:
Exit Function
Init_Err:
InitializeOutlook = False
Resume Init_End
End Function
Function CreateMail(astrRecip As Variant, _
strSubject As String, _
strMessage As String, _
Optional astrAttachments As Variant) As Boolean
Dim objNewMail As Outlook.MailItem
Dim blnResolveSuccess As Boolean
On Error GoTo CreateMail_Err
If golapp Is Nothing Then
If InitializeOutlook = False Then
MsgBox "Unable to initialize Outlook Application " _
& "or NameSpace object variables!"
Exit Function
End If
End If
Set golapp = New Outlook.Application
Set objNewMail = golapp.CreateItem(olMailItem)
With objNewMail
.Recipients.Add astrRecip
blnResolveSuccess = .Recipients.ResolveAll
.Attachments.Add astrAttachments
.Subject = strSubject
.Body = strMessage
If blnResolveSuccess Then
.Send
Else
MsgBox "Unable to resolve all recipients. Please check " _
& "the names."
.Display
End If
End With
CreateMail = True
CreateMail_End:
Exit Function
CreateMail_Err:
CreateMail = False
Resume CreateMail_End
End Function
4.5 划分数据库对象
把包含表的数据库称为表数据库,而包含其它对象的数据库称为应用程序数据库。通过从应用程序数据库链接到表数据库,就把这两个数据库连接起来了。采用这种策略的理由是:
● 可维护性
● 性能
● 可扩展性
如果已经设计了应用程序,并且在同样的数据库中包括了所有的表和其他数据库对象,可以使用Access的数据库拆分向导("工具","数据库实用工具","拆分数据库")来帮助实现数据库的划分。
5、法人清算系统的应用情况
现该系统在大通证券股份有限公司运行良好,极大减轻了财会人员工作强度,同时各种清晰、完善的数据报表加强了公司对于公司及下属营业部财务的监管力度,堵塞了漏洞。
6、法人清算系统的改进
现系统使用Microsoft Outlook建立及发送邮件,可以改进为通过公司局域网中的邮件服务器发送。