VB EXCEL 访问 速度 检索 二分法
--------------------编程问答-------------------- 可以用 SQL 查EXCEL表示试试看HDR=No表示第一行作为数据显示,yes为列名,如果为yes则需要用列名制定查询列,否则用Fn指定列
IMEX=1 为导入模式查询,如果单元格有混合数据应该使用该设置,参考:
http://support.microsoft.com/kb/194124/en-us?fr=1
'EXCEL SQL查询
Sub Testwindow()
'modelsel.Show
strexcelpath = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name
strExcelver = "excel 8.0"
dbprovider = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strexcelpath & _
";Extended Properties=" & """" & strExcelver & ";HDR=Yes;" & """"
strQuery = "SELECT [Column1],[Column2] FROM [Sheetname$] WHERE SN = 'string'"
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
'objConnection.Open dbprovider
'objRecordSet.open strQuery,objConnection,3
'MsgBox dbprovider
objConnection.Open dbprovider
objCommand.ActiveConnection = objConnection
objCommand.CommandText = strQuery
Set objRecordSet = objCommand.Execute
While Not objRecordSet.EOF
MsgBox objRecordSet.Fields("Type")
MsgBox IsNull(objRecordSet.Fields("Distribute Type"))
objRecordSet.MoveNext
Wend
objConnection.Close
End Sub
--------------------编程问答-------------------- 在Do While块中加入一个DoEvents语句。 --------------------编程问答-------------------- 其实可以用sql 语句执行的
补充:VB , 基础类