一个excel表格,4列,6万行左右。
例表:A B C D
0 1 1 5
1 2 3 2
0 7 1 6
3 2 2 2
0 6 3 7
3 1 1 7要查询A列和C列同时重复的记录,比如上面的第一、第三行……
Dim lsSql As String
Dim lrRec As ADODB.Recordset
Dim ldbConn As New ADODB.Connection
ldbConn.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=DSN=Excel Files;DBQ=" & "c:\1.xls; DefaultDir=c:\ ;DriverId=790;MaxBufferSize=2048;PageTimeout=5;" ldbConn.Open
lsSql = "SELECT * "
lsSql = lsSql & "......."
Set lrRec = New ADODB.Recordset
lrRec.CursorLocation = adUseClient
lrRec.Open lsSql, ldbConn, adOpenForwardOnly, adLockReadOnly
例表:A B C D
0 1 1 5
1 2 3 2
0 7 1 6
3 2 2 2
0 6 3 7
3 1 1 7要查询A列和C列同时重复的记录,比如上面的第一、第三行……
Dim lsSql As String
Dim lrRec As ADODB.Recordset
Dim ldbConn As New ADODB.Connection
ldbConn.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Extended Properties=DSN=Excel Files;DBQ=" & "c:\1.xls; DefaultDir=c:\ ;DriverId=790;MaxBufferSize=2048;PageTimeout=5;" ldbConn.Open
lsSql = "SELECT * "
lsSql = lsSql & "......."
Set lrRec = New ADODB.Recordset
lrRec.CursorLocation = adUseClient
lrRec.Open lsSql, ldbConn, adOpenForwardOnly, adLockReadOnly
解决方案 »
- 笔记本上 用 vb连接ACCESS数据库的问题
- 如何锁定text.text中的值
- SQL JOING 显示表a的全部内容.
- 请教对一条记录进行编辑时,以下两种思路哪种好呢?
- 如何得到标题栏高度?
- 跪求 VB程序中为MEDIAPLAYER中加入MARK的方法。急!在线等!谢谢各位大虾
- 如何通过组合字段快速定位到Access数据库中的某一条记录?
- 批处理在整个C盘自动搜索指定文件,找到跳到A程序,找不到跳到C程序
- 如何把本地的Recordset表保存到后台,并且不通过循环?
- 请问如何判断 Flash 控件是否已打开一个文件?
- vb6.0 调用dll问题
- EnumChildWindows和WindowFromPoint的问题,熟悉枚举子窗体的老师们进来指导一下.
A B C D
0 1 1 5 '第一行
1 2 3 2 '第二行
0 7 1 6 '第三行
3 2 2 2 '第四行
0 6 3 7 '第五行
3 1 1 7 '第六行
0 1 1 6 '第七行
0 1 1 9 '第八行要求重新变化了下,查询的结果只要有第一行(或第七行或第八行)和第二行,也就是说,A列和C列重复,B列不重复的才进入查询结果集……
SELECT DISTINCT s.*
FROM (SELECT A,B,C,D FROM [Sheet1$] ) AS s,(SELECT A,B,C,D FROM [Sheet1$] ) AS t
WHERE s.A=t.A AND s.C=t.C AND s.B<>t.B结果:
0,1,1,5
0,1,1,6
0,1,1,9
0,7,1,6正确结果应是
0,1,1,5
0,7,1,6
如果是,sql代码可以再改一下