李祿權(quán)
摘 要:隨著科學技術(shù)的不斷發(fā)展,Access數(shù)據(jù)庫和Excel在我們生活中的應用越來越廣泛,在實際的生活工作中,Access數(shù)據(jù)庫和Excel發(fā)揮著重要作用,該文主要研究了Access數(shù)據(jù)庫和Excel之間的通信技術(shù),分析了數(shù)據(jù)庫和Excel在通信技術(shù)中的應用,把這兩項技術(shù)結(jié)合在一起,以更好地滿足我們生活和工作的需要。
關(guān)鍵詞:Access數(shù)據(jù)庫 Excel通信技術(shù) 應用
中圖分類號:TP311.138 文獻標識碼:A 文章編號:1674-198X(2015)05(c)-0047-02
Access數(shù)據(jù)庫的優(yōu)勢是存儲簡單,便于系統(tǒng)的維護,操作起來也比較簡單。這項技術(shù)在中小型企業(yè)、大型企業(yè)中廣泛應用。這些部門和喜歡編程的開發(fā)人員運用Access數(shù)據(jù)庫,制作處理數(shù)據(jù)的桌面系統(tǒng)。而Excel則是微軟辦公軟件中的一個重要組成部分,它的主要功能是處理各種數(shù)據(jù)、進行數(shù)據(jù)統(tǒng)計分析和幫助決策操作。這項技術(shù)被廣泛應用與管理領(lǐng)域和金融領(lǐng)域。還可以運用VB6編程實現(xiàn)ACCESS、EXCEL、SQL SERVER數(shù)據(jù)庫之聞的數(shù)據(jù)交換。
1 Access數(shù)據(jù)庫與Excel數(shù)據(jù)的通信
因為Access數(shù)據(jù)庫和Excel間無法進行直接的通信,所以只能在第三方的支持下進行。本文以SQL Scrver 2000數(shù)據(jù)庫工具為例,把Access數(shù)據(jù)庫的內(nèi)容和Excel數(shù)據(jù)進行融合處理。SQL Scrver 2000數(shù)據(jù)庫聯(lián)系了Access數(shù)據(jù)庫和Excel。一方面,它可以將Access和Excel中的數(shù)據(jù)進行轉(zhuǎn)移,另一方面,也可以將數(shù)據(jù)轉(zhuǎn)化為Access數(shù)據(jù)庫形式或者Excel格式。下面介紹了使用SQL Scrver 2000數(shù)據(jù)庫的兩種操作方法。
(1)使用SQL Scrver 2000數(shù)據(jù)庫的具體操作方法是:利用DTS導入導出數(shù)據(jù),同時,也可以使用Transact-SQL語句來進行操作。但是在Transact-SQL語句中,OpenDataSource函數(shù)、OPENROWSET 函數(shù)的導入方式比較常見。
下面介紹一些SQL SERVER 和ACCESS的數(shù)據(jù)導入導出方法,具體步驟是:先使用DTS向?qū)ccess數(shù)據(jù)導入SQL Server中,然后在企業(yè)管理器中的Tools菜單上,選擇Data Transformation,接著選擇czdImport Data,并且在Choose a Data Source的操作中選擇Microsoft OLE DB Provider for SQL Server,運行數(shù)據(jù)庫服務(wù)器,單擊必要的驗證方式。在Specify Table Copy或Query的提示下,選擇Copy tables。最后在Select Source Tables對話框中,單擊Select All。
(2)使用Transact-SQL在Access數(shù)據(jù)庫和SQL Server中進行數(shù)據(jù)的導入導出的語句。將access導入SQL server的語句:SELECT*INTO newtableFROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','Data Source="Access數(shù)據(jù)庫地址";User ID=;Password=')表名;將Excel的數(shù)據(jù)導入SQL server 的語句:
SELECT*in to new table FROMO pen Data Source('Microsoft.Jet.OLEDB.4.0', 'Data Source="Excel文件地址";UserID=;Password=;Extended properties=Excel 5.0')...[Sheet1$]。
通過以上方法,可以實現(xiàn)Access數(shù)據(jù)庫和Excel數(shù)據(jù)庫之間的間接通信,運用SQL Scrver可以實現(xiàn)兩大數(shù)據(jù)庫之間的傳遞,共同處理相關(guān)的數(shù)據(jù)。同時,借助于SQL Server實現(xiàn)了Access數(shù)據(jù)庫與Excel數(shù)據(jù)的共享,滿足了實際工作中的數(shù)據(jù)處理需求。
2 ADO與SQL技術(shù)介紹
通過圖書館系統(tǒng)的入庫查詢,采用報表打印技術(shù),在VB中可以采用ADO數(shù)據(jù)庫連接技術(shù)及SQL語句查詢的方法,實現(xiàn)Access數(shù)據(jù)庫和Excel報表的一體化,并且實現(xiàn)兩者之間的通信功能。ADO是ActiveX數(shù)據(jù)對象,是Microsoft在開發(fā)數(shù)據(jù)庫應用程序時,創(chuàng)造出的對象的新接口。ADO也會使用COM接口,在進行封裝OLE DB的程序中,這是一種建立在OLE DB技術(shù)基礎(chǔ)上的高級技術(shù)。它其實是一種面向?qū)ο蟮慕涌凇K膬?yōu)勢就是數(shù)據(jù)處理功能很強大,編程接口很簡單、易于操作。VB是一種面向?qū)ο蟮目梢暬幊陶Z言,它同時可以利用ActiveX技術(shù),擴展其他應用程序提供的服務(wù)。SQL是一種結(jié)構(gòu)化查詢語言,它由一組專門的程序命令組成,在管理關(guān)系數(shù)據(jù)庫系統(tǒng)中發(fā)揮重要作用,使語言標準化。
3 利用ADO與SQL實現(xiàn)Access與Excel的通信
3.1 使用ADO訪問對象自動識別Access數(shù)據(jù)庫路徑
在Visual Basic 6.0中,可以采用多種技術(shù)手段建立與數(shù)據(jù)庫之間的連接,主要有:數(shù)據(jù)控件、數(shù)據(jù)對象、數(shù)據(jù)環(huán)境設(shè)計器等。在Visual Basic 6.0中,ADO訪問對象自動識別Access數(shù)據(jù)庫路徑,可以自動操作,實現(xiàn)一體化的功能。可以有效避免程序復制到其他位置的問題,也有助于解決找不到數(shù)據(jù)庫路徑的問題。ADO連接方法:主要依靠數(shù)據(jù)庫接口,程序設(shè)計者首先創(chuàng)建幾個對象,進行數(shù)據(jù)來源的連接,然后獲取所需的數(shù)據(jù),進行數(shù)據(jù)訪問后,再保存操作。ADO連接數(shù)據(jù)庫編程的具體操作步驟是:正確選擇ADO數(shù)據(jù)對象,在VB 6.0集成開發(fā)環(huán)境中,打開[工程]菜單,然后再點擊[引用]菜單項,在出現(xiàn)的對話框中選擇[Microsoft Ac-tiveX Data Objects 2.0 Library]選項,把ADO數(shù)據(jù)對象類型庫添加到其中。用到的代碼有Dim strCnn,SQL As String,Dim cnn As ADODB.Connection,Dim rs As ADODB.Recordset。
3.2 使用ADO訪問對象自動識別Excel文件路徑
(1)MicroSoft Excel數(shù)據(jù)報表。
MicroSoft Excel是一個電子表格和數(shù)據(jù)庫,它功能強大,容易操作。如果同時使用Excel數(shù)據(jù)報表和Visual Basic,兩者之間相互配合,就可以制作出復雜的數(shù)據(jù)報表。
(2)ADO連接Excel編程。
連接的具體方法是:首先進入VBA編程界面,找到[工具]菜單,然后單擊[引用]菜單項,在[引用]窗體,單擊[現(xiàn)有引用]列表,在出現(xiàn)的對話框中選擇名為[Microsoft Excel x.0 ObjectLibrary]的項目,并且勾選。接著,要準備一張空白的Excel表格,設(shè)置好表格的字體、邊框和打印紙張。將所有的信息存入硬盤。操作代碼是:
Dim exlapp As New Excel.Application
Dim exlbook As Excel.Workbook
Dim exlsheet As Excel.Worksheet
創(chuàng)建EXCEL應用程序
Set exlapp = New Excel.Application
打開已設(shè)定好的Excel文件(銷售報表tushu.xlt)
exlapp.Workbooks.Open App.Path & "\tushu.xlt "
3.3 SQL數(shù)據(jù)查詢技術(shù)在VB中的應用
3.3.1 SQL查詢語句
數(shù)據(jù)庫查詢依照指定的條件,從數(shù)據(jù)庫中按照操作指令,查找符合條件的記錄。下面以Access數(shù)據(jù)庫為例,介紹SQL語句查詢的幾種常用查詢方法。
(1)運用Select語句,在單個或者是多個數(shù)據(jù)庫中,按照一個字段或者是多個字段檢索需要的數(shù)據(jù),并且在動態(tài)集或表中顯示檢索得到的數(shù)據(jù)動態(tài)。
(2)數(shù)據(jù)排序。Select語句不僅有查詢的功能,還有進行數(shù)據(jù)排序的功能,可以由Or-der By組成的句子對記錄進行相應的排序。Order By子句需要指定字段的值,然后在此基礎(chǔ)上進行排序。
(3)數(shù)據(jù)計算。SQL支持的函數(shù)可以完成檢索出的數(shù)據(jù)的各種計算工作,并且將計算的結(jié)果輸出,做成表格。如:count( ):(計算滿足條件的記錄數(shù));first( ):(返回記錄集的第一個記錄的某個域值);sum ( ):(求和計算);max( ):(求最大值)。
3.3.2 入庫查詢的幾種設(shè)計
可以按照選定的字段、條件和輸入的內(nèi)容查詢,查詢術(shù)語是將查詢條件“/like”或“=”運算符添加到查詢條件組合框中,輸入查詢內(nèi)容即可;按日期查詢,可以使用SQL語句中的between–and語句進行查詢;還可以設(shè)計選控件check,結(jié)合按選定的字段、條件和輸入的內(nèi)容查詢和按日期查詢方法。
4 結(jié)語
在企業(yè)的管理系統(tǒng)中,采用ADO與SQL技術(shù)實現(xiàn)Access與Excel的數(shù)據(jù)通信,促進一體化、自動化的數(shù)據(jù)管理,進行報表的自動輸出。所以Access與Excel的數(shù)據(jù)通信是非常重要的。同時,還可以運用VB6編程把Access數(shù)據(jù)庫或Excel數(shù)據(jù)庫中的數(shù)據(jù)導入到SQLSERVER數(shù)據(jù)庫中,實現(xiàn)Access與Excel的數(shù)據(jù)共享,可以參考以上代碼進行。同時,使用ADO與SQL技術(shù)也可以根據(jù)需要設(shè)計出復雜的報表,滿足工作的特殊需要。上面的設(shè)計思路具有很好的指導作用,相關(guān)的程序設(shè)計員可以在此基礎(chǔ)上開發(fā)和擴展,有利于滿足實際數(shù)據(jù)通信的需要。
參考文獻
[1] 熊亞軍.Access數(shù)據(jù)庫與Excel通信技術(shù)的研究[J].信息與電腦:理論版,2010(12):91.
[2] 李靜燕.將Access數(shù)據(jù)導出到Excel的應用[J].科技視界,2012(30):116-117.
[3] 王若慧,常永奮.ADO與SQL實現(xiàn)Access與Excel的通信[J].電力學報,2010(4):345-348.
[4] 牛曉華,王榮.用VB6實現(xiàn)多種數(shù)據(jù)庫之間的數(shù)據(jù)交換[J].光電技術(shù)應用,2010(2):49-52.
[5] 王毅飛.基于.Net的Excel和數(shù)據(jù)庫數(shù)據(jù)轉(zhuǎn)換—— 以軍事理論練習系統(tǒng)為例[J].計算機時代,2013(5):33-36.