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