一個(gè)excelSQL方法實(shí)例詳細(xì)注釋_第1頁(yè)
一個(gè)excelSQL方法實(shí)例詳細(xì)注釋_第2頁(yè)
一個(gè)excelSQL方法實(shí)例詳細(xì)注釋_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、一個(gè)excel+SQL方法實(shí)例詳細(xì)注釋我要在工作薄“SHEET1中,匯總另一工作薄(此工作薄不需要打開(kāi)):“SHEET1(A1:A100)中的數(shù)據(jù),并顯示出來(lái),這段代碼如何寫(xiě)?用excel+SQL方法PrivateSubCommandButton1_Click()Setconn=CreateObject(ADODB.Connection)conn是建立的連接對(duì)象,用open打開(kāi)通過(guò)CreateObject(ADODB.Connection)這一句建立了一個(gè)數(shù)據(jù)庫(kù)連接對(duì)象conn在工程中就不再需要引用MicrosotActiveXDataObjects2.0Library對(duì)象“設(shè)置對(duì)象conn為

2、一個(gè)新的ADO鏈接實(shí)例,也可以用setconn=NewADODB.Connection。conn.Opendsn=excelfiles;dbq=&ThisWorkbook.Path&/001.xlsSql=selectsum(分?jǐn)?shù))fromsheet1$Sheets.a2.CopyFromRecordsetconn.Execute(Sql)Execute是執(zhí)行SQL查詢(xún)語(yǔ)句的意思conn.Close:Setconn=Nothingconn.Close表示關(guān)閉conn連接Setconn=Nothing是把連接對(duì)象conn置空,不然你退出了文件,但數(shù)據(jù)庫(kù)還沒(méi)有關(guān)閉EndSub請(qǐng)把這段代碼的實(shí)現(xiàn)原理

3、分析一下好嗎?conn.Opendsn=excelfiles;dbq=&ThisWorkbook.Path&/001.xls能把這段含義具體解釋一下嗎?這里的dbq的作用?dsn是縮寫(xiě),datasourcename數(shù)據(jù)庫(kù)名是excelfile001.xlsdbq也是縮寫(xiě),databasequery意思是數(shù)據(jù)庫(kù)查詢(xún),后接源庫(kù)文件名代碼中長(zhǎng)單詞怎么記住的?比如copyfromrecordset可以拆開(kāi)記憶,copy、from、recordset這三個(gè)單詞意思知道吧,就是復(fù)制、從、記錄集“Sql=selectsum(分?jǐn)?shù))fromsheet1$這里加分?jǐn)?shù)兩字什么作用?SQL一般結(jié)構(gòu)是select字段

4、from表,意思是從指定的表中查詢(xún)字段,字段的理解可以是:表中的列名分?jǐn)?shù)是001.xls文件的sheetl第一行A列的字段名,SQL一般以字段來(lái)識(shí)別每列數(shù)據(jù)為什么要用復(fù)制的對(duì)象引用過(guò)來(lái)計(jì)算呢?因?yàn)镾ql語(yǔ)句只是對(duì)源數(shù)據(jù)庫(kù)的字段找到了符合條件的的數(shù)據(jù),但不會(huì)自動(dòng)復(fù)制到匯總表來(lái),所以需要復(fù)制copy注意這里的sheet1$,001文件的數(shù)據(jù)存放地上sheet1表,應(yīng)當(dāng)用方括號(hào)并加上$如果源數(shù)據(jù)文件001不是excel,而是Access,則引用表時(shí),不需要加方括號(hào),也不要$Sheets(1).a2.CopyFromRecordsetconn.Execute(Sql)如果我把A2換成B5或其它,那就是

5、說(shuō)顯示在B5單元格的匯總數(shù),對(duì)嗎?還有,這里Execute表示什么作用?*我想把A2:B5數(shù)據(jù)匯總可以實(shí)現(xiàn)嗎?公式做怎樣的修改?請(qǐng)測(cè)試一下,只統(tǒng)計(jì)A1:A5之和Setconn=CreateObject(ADODB.Connection)conn.Opendsn=excelfiles;dbq=&ThisWorkbook.Path&/001.xlsSql=selectsum(分?jǐn)?shù))fromsheet1$a1:a5”Sheets.c2.CopyFromRecordsetconn.Execute(Sql)conn.Close:Setconn=Nothing如果不要字段也可以,那么在打開(kāi)語(yǔ)句中加上:hd

6、r=no這樣沒(méi)有分?jǐn)?shù)字段也可實(shí)現(xiàn)*沒(méi)有字段的例子,注意我這里已經(jīng)001文件改為002.xls,而且把分?jǐn)?shù)字段刪除了PrivateSubCommandButton3_Click()Setconn=CreateObject(ADODB.Connection)conn.Openprovider=microsoft.jet.oledb.4.0;extendedproperties=excel8.0;hdr=no;datasource=&ThisWorkbook.Path&/002.xlsSql=selectsum(f1)fromsheet1$a1:a10”Sheets.e1.CopyFromRecor

7、dsetconn.Execute(Sql)conn.Close:Setconn=NothingEndSubSQL語(yǔ)句我換了形式,而且加上了hdr=no,即無(wú)需字段,而且我在SQL中用了sum(f1),f1表示第一列數(shù)據(jù)sheet1$a1:a10”是只求a1:a10區(qū)域的和*用msgbox顯示查詢(xún)結(jié)果PrivateSubCommandButton2_Click()Setconn=CreateObject(ADODB.Connection)Setrr=CreateObject(ADODB.recordset)conn.Opendsn=excelfiles;dbq=&ThisWorkbook.Path&/001.xlsSql=selectsum(分?jǐn)?shù))fromsheet1$a1:a5”She

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論