db2 两个结构相同的表_从两个工作表提取数据记录,并显示相同记录的报告
大家好,今日繼續(xù)VBA數(shù)據(jù)庫解決方案的講解,今日講解的是第47講,內(nèi)容是:在兩個(gè)工作表提取數(shù)據(jù)記錄,并顯示相同記錄的報(bào)告。
我們在工作中經(jīng)常會遇到這樣的情況,要分析兩個(gè)工作表,知道哪些記錄是重復(fù)的,如果不用ADO解決,只用EXCEL來解決,該怎么處理呢?那就只能是用數(shù)據(jù)透視表來一個(gè)一個(gè)的比對了。但有了ADO,我們可以瞬間解決。
實(shí)例:我們的兩個(gè)工作表如下:
在數(shù)據(jù)備份和數(shù)據(jù)兩個(gè)工作表中存在很多重復(fù)的數(shù)據(jù),我們要把這些數(shù)據(jù)提取出來。
下面看我我給出的代碼:
Sub mynzRecords_47() '第47講 打開兩個(gè)工作表提取數(shù)據(jù)記錄,顯示數(shù)據(jù)相同的記錄報(bào)告
Dim cnADO, rsADO As Object
Dim strSQL As String
Set cnADO = CreateObject("ADODB.Connection")
Worksheets("47").Select
strPath = ThisWorkbook.FullName
Set rsADO = CreateObject("ADODB.Recordset")
cnADO.Open "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;Data Source=" & strPath
strSQL = "SELECT A.* FROM [數(shù)據(jù)備份$] A,[數(shù)據(jù)$] B " _
& "WHERE A.型號=B.型號"
Set rsADO = cnADO.Execute(strSQL)
Cells.ClearContents
Range("A1") = "【數(shù)據(jù)備份】工作表與【數(shù)據(jù)】工作表型號相同的記錄"
For i = 0 To rsADO.Fields.Count - 1
Cells(2, i + 1) = rsADO.Fields(i).Name
Next i
Range("A3").CopyFromRecordset rsADO
rsADO.Close
cnADO.Close
Set cnADO = Nothing
Set rsADO = Nothing
End Sub
代碼截圖:
代碼解析:
1 strSQL = "SELECT A.* FROM [數(shù)據(jù)備份$] A,[數(shù)據(jù)$] B " _
& "WHERE A.型號=B.型號"
上面的這句SQL語句就是提取兩個(gè)工作表中數(shù)據(jù)相同的記錄。
注意寫法:SELECT A.* FROM [數(shù)據(jù)備份$] A,[數(shù)據(jù)$] B "& "WHERE A.型號=B.型號"
提取的是A工作表的字段,工作表是FROM: [數(shù)據(jù)備份$] A和[數(shù)據(jù)$] B,條件是:A.型號=B.型號。
2 Set rsADO = cnADO.Execute(strSQL) 執(zhí)行SQL語句
3 Cells.ClearContents
Range("A1") = "【數(shù)據(jù)備份】工作表與【數(shù)據(jù)】工作表型號相同的記錄"
計(jì)入表的抬頭
4 For i = 0 To rsADO.Fields.Count - 1
Cells(2, i + 1) = rsADO.Fields(i).Name
Next i
計(jì)入數(shù)據(jù)的字段
5 Range("A3").CopyFromRecordset rsADO
在工作表中計(jì)入得到的記錄集。
下面我們看代碼的運(yùn)行:
好了,這樣就實(shí)現(xiàn)了我們的目的,是不是非常的方便呢。工作中總會有各種實(shí)際情況發(fā)生,我們要具體問題,具體分析,我也力爭把最經(jīng)典的使用方案提供給讀者。
今日內(nèi)容回向:
1 兩個(gè)工作表中相同記錄的判斷的SQL語句如何寫?
2 上面的代碼還可以用什么方案實(shí)現(xiàn)?
3 如果判斷的不是某個(gè)記錄,而是所有的字段呢?
總結(jié)
以上是生活随笔為你收集整理的db2 两个结构相同的表_从两个工作表提取数据记录,并显示相同记录的报告的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql-front权限管理_mysq
- 下一篇: java 断点续传组件_chunkupl