證券公司法人清算系統(tǒng)解決方案
證券公司法人清算系統(tǒng)解決方案
大連海事大學 于長泓
摘 要:本文以證券公司法人清算業(yè)務為背景,把多個Office應用程序的特性集成到一個解決方案中,從而提高和促進了用戶的生產效率。
關鍵詞:Access、Excel、Outlook、Automation、VBA、DAO
1、引言
每一個Microsoft Office應用程序都包含了一組旨在幫助開發(fā)人員完成一組相關任務的強大工具。例如:Microsoft Access提供了強大的數(shù)據(jù)管理以及查詢能力;Microsoft Excel提供了數(shù)學分析以及報告工具;Microsoft Outlook提供了發(fā)送和接受電子函件、計劃、合同以及任務管理;而Microsoft Word支持用戶創(chuàng)建和維護文檔,跟蹤不同用戶間的文檔版本、創(chuàng)建窗體和模板等。以上應用使單個Office應用程序具備可編程能力以及使得創(chuàng)建集成Office解決方案成為可能的關鍵技術是稱之為Automation的組件對象模型(COM)技術。Automation允許開發(fā)人員使用Visual Basic for Application(VBA)代碼創(chuàng)建和控制由支持相應編程接口的應用程序、動態(tài)鏈接庫、ActiveX控件提供的軟件對象。VBA和Automation支持編寫獨立的Office應用程序。例如:可以在Access中創(chuàng)建一個隱藏的Excel實例,用它對Access數(shù)據(jù)完成數(shù)學運算和分析操作。
2、法人清算系統(tǒng)概述
上海證券中央登記結算公司在中央交收體制下實行會員法人結算制度。上海證券交易所的會員單位均以法人名義在登記公司開立結算帳戶,統(tǒng)一辦理其所有下屬機構在上海證券交易所進行的證券交易的清算交收業(yè)務。
證券公司(法人)財務部每天上午通過滬、深法人專用平臺撥號上網接收法人清算數(shù)據(jù)文件。清算文件包含有該公司下屬交易席位各項交易費用明細。需要分類匯總:先統(tǒng)計出各席位各項費用,再統(tǒng)計出各營業(yè)部費用,最后匯總出公司各項費用。對賬、打印、傳真給下屬營業(yè)部,供其對賬。根據(jù)統(tǒng)計費用,劃撥金額,以保障公司備付金。
現(xiàn)在證券公司通過兼并重組,規(guī)模日趨龐大,下屬營業(yè)部少則十幾家,多則幾十,甚至上百家,所以上述流程由人工處理完成已越來越無法勝任。
綜合運用Office應用程序,上述工作得以快捷、準確完成,使以前幾個人花費近一上午的工作在十幾分鐘就可以完成。
法人清算系統(tǒng)業(yè)務流程見附圖。
3、法人清算系統(tǒng)的設計結構
系統(tǒng)主要由三部分組成:準備數(shù)據(jù)、處理數(shù)據(jù)、發(fā)送數(shù)據(jù)。
3.1 準備數(shù)據(jù)
滬深清算文件為壓縮文件,接收完畢后由系統(tǒng)自動完成更名、解壓,生成DBF文件,同時完成數(shù)據(jù)備份工作。
3.2 處理數(shù)據(jù)
系統(tǒng)主要部分,選用Access為主程序,功能包括:
● 數(shù)據(jù)導入,生成當日所需明細數(shù)據(jù)表
● 當日劃撥
● 各類明細、匯總報表
● 生成下屬營業(yè)部所需數(shù)據(jù)文件,為Excel文件
● 生成郵件,準備發(fā)往各營業(yè)部
對于開發(fā)運行小型商務系統(tǒng)的應用程序來說,Access是一個較好的平臺,它的向導有助于開發(fā)人員輕松地快速構造出應用程序的框架;由于它支持代碼模塊,因此,開發(fā)人員很容易建立可重用函數(shù)的代碼庫;又由于它支持在窗體和報表之后添加代碼,因此它具有強大的窗體和報表自定義功能。
之所以選用Excel文件為下發(fā)文件格式,因為下發(fā)數(shù)據(jù)包括深、滬明細數(shù)據(jù)和各類匯總數(shù)據(jù),可作為工作簿中各工作表,格式清晰,且各營業(yè)部可再次利用Excel工具處理,得到想要各類數(shù)據(jù)。
3.3 發(fā)送數(shù)據(jù)
啟動Outlook,發(fā)送郵件。
4、法人清算系統(tǒng)的關鍵技術
4.1 用代碼導入外部數(shù)據(jù)
Access的DoCmd對象提供了三種導入外部數(shù)據(jù)的方法,它們是:
TransferDatabase、TransferText和TransferSpreadsheet
下面的示例使用DoCmd對象的TransferDatabase方法從數(shù)據(jù)庫導入數(shù)據(jù):
Sub ImportDatabase()
DoCmd.TransferDatabase _
TransferType:=acImport,_ '執(zhí)行轉換的類型
DatabaseType:="dBase III",_ '導入數(shù)據(jù)庫的類型
DatabaseName:=APPPATH,_ '數(shù)據(jù)庫的名稱
ObjectType:=actable,_ '導入對象的類型
Source:="Customer",_ '導入源對象的名稱
Destination:="tblCustomer",_ '導入目標對象的名稱
StructureOnly:=False '只導入表的結構,還是結構、數(shù)據(jù)都導入
End sub
4.2 數(shù)據(jù)訪問技術
本系統(tǒng)選用DAO(Data Access Objects)技術。
DAO代碼可以創(chuàng)建、修改和刪除Jet引擎對象,使用它可以完成以下工作:
● 分析已存在的數(shù)據(jù)庫結構
● 增加或修改表和查詢
● 創(chuàng)建新數(shù)據(jù)庫
● 通過修改查詢所基于的SQL來改變查詢定義
● 遍歷記錄集
● 修改表數(shù)據(jù)
4.3 展示數(shù)據(jù)
在Office解決方案中有許多不同的展示數(shù)據(jù)的方法,如何建構報表依賴于解決方案是如何設計的以及數(shù)據(jù)存儲在什么地方。本系統(tǒng)解決方案以Access為基礎,用戶可以通過Access窗體和數(shù)據(jù)訪問頁面操作數(shù)據(jù);同時若需要在Excel中觀察和操作數(shù)據(jù),以便以最大的靈活性來創(chuàng)建定制報表,可以把數(shù)據(jù)從Access中導入到Excel。
在Access運行的代碼里使用Automation創(chuàng)建Excel的查詢表QueryTable或PivotTable報表。使用Autom
ation可以使用戶對從數(shù)據(jù)庫到Excel轉換數(shù)據(jù)的過程進行更多的控制,還可以使用Automation來格式化報表,過濾數(shù)據(jù),創(chuàng)建統(tǒng)計圖等。用戶能夠在Access中簡單地單擊一個按鈕,就得到Excel中已格式化的報表。
下面的示例創(chuàng)建一個新的數(shù)據(jù)庫查詢并把數(shù)據(jù)返回到工作表,建立動態(tài)報表。
要在VBA中創(chuàng)建一個新的查詢表,使用QueryTables集合的Add方法。QueryTables集合從屬于Worksheet對象,并且包含了該工作表的所有QueryTable對象。創(chuàng)建了一個新的查詢表后,必須使用QueryTable對象的Refresh方法在查詢表中顯示數(shù)據(jù)。
Dim dbReset As Database
Dim rstReset As Recordset
Dim wksNew As Excel.Worksheet
Dim qtbData As Excel.QueryTable
......
Set rstReset = dbReset.OpenRecordset("營業(yè)部")
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本地安裝相關聯(lián)的COM加載項中運行的VBA代碼。
● 使用Outlook窗體中自帶的腳本環(huán)境,該窗體用于顯示諸如消息和約會這樣的項目。
● 通過Automation在其它Office應用程序或支持VBA的其它應用程序中使用Outlook。
本系統(tǒng)使用第三種方式。在使用VBA訪問Outlook對象、方法、屬性之前,必須首先單擊Visual Basic編輯器的Tools菜單項下的Reference來設置對Microsoft Outlook對象庫的引用。
下面的示例InitializeOutlook過程創(chuàng)建一個新的、隱藏的Outlook實例;CreateMail過程創(chuàng)建一個郵件消息,設置收件人、附件、主題和消息內容,然后發(fā)送郵件。
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 劃分數(shù)據(jù)庫對象
把包含表的數(shù)據(jù)庫稱為表數(shù)據(jù)庫,而包含其它對象的數(shù)據(jù)庫稱為應用程序數(shù)據(jù)庫。通過從應用程序數(shù)據(jù)庫鏈接到表數(shù)據(jù)庫,就把這兩個數(shù)據(jù)庫連接起來了。采用這種策略的理由是:
● 可維護性
● 性能
● 可擴展性
如果已經設計了應用程序,并且在同樣的數(shù)據(jù)庫中包括了所有的表和其他數(shù)據(jù)庫對象,可以使用Access的數(shù)據(jù)庫拆分向導("工具","數(shù)據(jù)庫實用工具","拆分數(shù)據(jù)庫")來幫助實現(xiàn)數(shù)據(jù)庫的劃分。
5、法人清算系統(tǒng)的應用情況
現(xiàn)該系統(tǒng)在大通證券股份有限公司運行良好,極大減輕了財會人員工作強度,同時各種清晰、完善的數(shù)據(jù)報表加強了公司對于公司及下屬營業(yè)部財務的監(jiān)管力度,堵塞了漏洞。
6、法人清算系統(tǒng)的改進
現(xiàn)系統(tǒng)使用Microsoft Outlook建立及發(fā)送郵件,可以改進為通過公司局域網中的郵件服務器發(fā)送。
【證券公司法人清算系統(tǒng)解決方案】相關文章:
證券公司法人清算系統(tǒng)解決方案08-06
破產清算中證券保證金的法律性質08-05
證券公司法人治理結構研究08-05
TPS60101用于低功耗系統(tǒng)的電源解決方案08-06
公司清算方案08-05
清算申請書05-23