久久综合九色综合97婷婷-美女视频黄频a免费-精品日本一区二区三区在线观看-日韩中文无码有码免费视频-亚洲中文字幕无码专区-扒开双腿疯狂进出爽爽爽动态照片-国产乱理伦片在线观看夜-高清极品美女毛茸茸-欧美寡妇性猛交XXX-国产亚洲精品99在线播放-日韩美女毛片又爽又大毛片,99久久久无码国产精品9,国产成a人片在线观看视频下载,欧美疯狂xxxx吞精视频

有趣生活

當(dāng)前位置:首頁>職場>sql中兩張表聯(lián)合查詢(SQL與聯(lián)合函數(shù)完成多工作表查詢)

sql中兩張表聯(lián)合查詢(SQL與聯(lián)合函數(shù)完成多工作表查詢)

發(fā)布時間:2024-01-24閱讀(13)

導(dǎo)讀【分享成果,隨喜正能量】付出辛苦,總有收獲;布施善意,深入福澤,善多一分,福自然深一分。人生無懼,無論榮華富貴,還是低賤窮困,我們都要從容不迫,學(xué)會積極的看....

【分享成果,隨喜正能量】 付出辛苦,總有收獲;布施善意,深入福澤,善多一分,福自然深一分。人生無懼,無論榮華富貴,還是低賤窮困,我們都要從容不迫,學(xué)會積極的看待人生,緣來了,則聚;緣去了,則散。。 ??

《VBA數(shù)據(jù)庫解決方案》教程是我推出的第二套教程,目前已經(jīng)是第一版修訂了。這套教程定位于中級,是學(xué)完字典后的另一個專題講解。數(shù)據(jù)庫是數(shù)據(jù)處理的利器,教程中詳細(xì)介紹了利用ADO連接ACCDB和EXCEL的方法和實例操作,教程第一版的修訂內(nèi)容主要是完成所有程序文件的32位和64位OFFICE系統(tǒng)測試。

這套教程共兩冊,八十四講,今后一段時間會給大家陸續(xù)推出修訂后的教程內(nèi)容。今日的內(nèi)容是:SQL與聯(lián)合函數(shù)完成多工作表查詢

sql中兩張表聯(lián)合查詢(SQL與聯(lián)合函數(shù)完成多工作表查詢)(1)

第五十一講 聯(lián)合函數(shù)和SQL完成多工作表匯總查詢

大家好,我們繼續(xù)VBA數(shù)據(jù)庫解決方案的學(xué)習(xí),今天講解第51講:利用聚合函數(shù)和SQL語句完成多工作表的匯總查詢計算。今日的內(nèi)容看似簡單,其實有些難度,希望大家不要放棄,在自己測試的時候要多測試幾次。雖然本講的內(nèi)容可利用其他的方法也可以實現(xiàn),但這種方法也不失為一種解決問題的有效手段。

在我的系列書籍中一直在強調(diào)“搭積木”的編程思路,主要的內(nèi)涵:首先是代碼不要自己全部的錄入,你要做的是把積木放在合適的位置讓后去修正代碼,其次是建立自己的“積木庫”,把自己認(rèn)為有用的代碼放在一起,可以隨時利用。你的積木庫資料越多,你做程序的思路就會越多。數(shù)據(jù)庫的代碼錄入更是如此,代碼往往很長,千萬不要自己去錄入。空格,引號,逗號的寫法要求是非常嚴(yán)格的。一定要拷貝,然后修正代碼,把時間利用到高效的思考上。

1 應(yīng)用場景的具體分析

今日的內(nèi)容是講聚合函數(shù)和SQL的結(jié)合,從而完成我們的實際工作。如下的實例:我的工作表中有兩頁格式接近的數(shù)據(jù),如下:

sql中兩張表聯(lián)合查詢(SQL與聯(lián)合函數(shù)完成多工作表查詢)(2)

現(xiàn)在我要把兩個工作表的數(shù)據(jù)提取型號,數(shù)量,單價,并把數(shù)量按型號匯總,匯總后的數(shù)據(jù)按型號排序處理。

上面的例子,如果在EXCEL工作表文件中處理要多個步驟來完成,用數(shù)據(jù)庫的一般方案也是比較麻煩的,下面看我們聯(lián)合函數(shù)的功效吧。

2 完成多工作表的匯總查詢計算的代碼及代碼解讀

我給出的代碼如下;

Sub mynzRecords_51() 第51講 利用聯(lián)合函數(shù)和SQL語句完成多工作表的匯總查詢計算

Dim cnADO, rsADO As Object

Dim strPath, strSQL1, strSQL2, strSQL3, strSQL4 As String

Worksheets("51").Select

Cells.ClearContents

Set cnADO = CreateObject("ADODB.Connection")

Set rsADO = CreateObject("ADODB.Recordset")

建立一個ADO的連接

strPath = ThisWorkbook.FullName

cnADO.Open "provider=Microsoft.ACE.OLEDB.12.0;extended properties=excel 12.0;hdr=yes;imex=1;data source=" & strPath

strSQL1 = "select 型號,數(shù)量,單價 from [數(shù)據(jù)$]"

strSQL2 = "select 型號,數(shù)量,單價 from [數(shù)據(jù)2$]"

strSQL3 = strSQL1 & " UNION ALL " & strSQL2

strSQL4 = "select 型號,SUM(數(shù)量),單價 from (" & strSQL3 & ") GROUP BY 型號,單價"

arr = Array("型號", "數(shù)量", "單價")

[a1:c1] = arr

[a65536].End(xlUp).Offset(1, 0).CopyFromRecordset cnADO.Execute(strSQL4)

cnADO.Close

Set cnADO = Nothing

Set rsADO = Nothing

End Sub

代碼截圖:

sql中兩張表聯(lián)合查詢(SQL與聯(lián)合函數(shù)完成多工作表查詢)(3)

代碼講解:

1 strSQL1 = "select 型號,數(shù)量,單價 from [數(shù)據(jù)$]" 第一個SQL語句完成“數(shù)據(jù)”工作表的數(shù)據(jù)提取。

2 strSQL2 = "select 型號,數(shù)量,單價 from [數(shù)據(jù)2$]" 第二個SQL語句完成“數(shù)據(jù)2”工作表的數(shù)據(jù)提取。

3 strSQL3 = strSQL1 & " UNION ALL " & strSQL2 第三個SQL語句完成strSQL1和strSQL2的組合,這里利用到了聯(lián)合函數(shù)UNION,此函數(shù)的用法大家要注意,按照我給出的代碼示例進行即可。

4 strSQL4 = "select 型號,SUM(數(shù)量),單價 from (" & strSQL3 & ") GROUP BY 型號,單價"

第四個SQL語句,通過上面的聚合函數(shù)建立一個新的SQL查詢。同樣這個語句的寫法要注意按照我的示例格式進行,不要另辟蹊徑,通不過的。

下面看我們代碼的運行結(jié)果:

sql中兩張表聯(lián)合查詢(SQL與聯(lián)合函數(shù)完成多工作表查詢)(4)

今日內(nèi)容回向:

1 聚合函數(shù)在sql中如何應(yīng)用?

2 如何利用聯(lián)合函數(shù)完成數(shù)據(jù)的統(tǒng)計?

本講內(nèi)容參考程序文件:VBA與數(shù)據(jù)庫操作(第二冊).xlsm

sql中兩張表聯(lián)合查詢(SQL與聯(lián)合函數(shù)完成多工作表查詢)(5)

我20多年的VBA實踐經(jīng)驗,全部濃縮在下面的各個教程中:

sql中兩張表聯(lián)合查詢(SQL與聯(lián)合函數(shù)完成多工作表查詢)(6)

sql中兩張表聯(lián)合查詢(SQL與聯(lián)合函數(shù)完成多工作表查詢)(7)

sql中兩張表聯(lián)合查詢(SQL與聯(lián)合函數(shù)完成多工作表查詢)(8)

【分享成果,隨喜正能量】善良,像暗夜里的燈火,每付出一份善意,就亮起一盞燈火,懷善心,做善事,自會福報綿延。。

歡迎分享轉(zhuǎn)載→http://www.avcorse.com/read-228288.html

Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號-5 TXT地圖HTML地圖XML地圖