|
发表于 2014-10-22 13:28
|
显示全部楼层
本楼为最佳答案
- Private Sub CommandButton1_Click()
- Dim CNN, strsql$, aa, HH, BB, CC, JJ, KK, DD
- Set CNN = CreateObject("adodb.connection")
- Dim i&, t&
- Application.ScreenUpdating = False
- t = Sheet1.Range("A65536").End(xlUp).Row
- CNN.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & ThisWorkbook.FullName
- If Sheet1.[K3] <> "" Then
- aa = " and 班级 like '%" & Sheet1.[K3] & "%'"
- End If
- If Sheet1.[K4] <> "" Then
- HH = " AND 学号 like '%" & Sheet1.[K4] & "%'"
- End If
- If Sheet1.[K5] <> "" Then
- BB = " AND 入学年月 like '%" & Sheet1.[K5] & "%'"
- End If
- If Sheet1.[K6] <> "" Then
- CC = " AND 性别 like '%" & Sheet1.[K6] & "%'"
- End If
- If Sheet1.[K7] <> "" Then
- DD = " AND 喜好 like '%" & Sheet1.[K7] & "%'"
- End If
- JJ = aa & BB & HH & CC & DD
- If Len(JJ) Then KK = "WHERE " & Mid(JJ, 6, 888)
- strsql = "select 姓名,班级,学号,入学年月,性别,喜好,数据1,数据2 FROM [数据表$A:H] " & KK
- Sheet1.Range("A2").CurrentRegion.ClearContents
- Sheet1.Range("A1:H1") = Sheet2.Range("A1:H1").Value
- Sheet1.[A2].CopyFromRecordset CNN.Execute(strsql)
- CNN.Close
- Set CNN = Nothing
- Application.ScreenUpdating = True
- End Sub
复制代码 查询的我已经更改了。你看下。。
至于你的selectchange如果运行是你要的结果的话应该没问题,我也试过貌似没看出问题来 |
评分
-
查看全部评分
|