2010-01-18 3 views
7

VBA 에서 Excel 워크 시트를 쿼리하여 조건을 지정하고 싶습니다.MS-Access VBA에서 Excel 워크 시트를 쿼리 (ADODB 레코드 세트 사용)

간단한 쿼리 "SELECT * FROM [PCR$]"은 완벽하게 작동하지만 WHERE 절을 추가하는 방법을 모르겠습니다.

나는 cmd2.CommandText = "SELECT * FROM [PCR$] WHERE ([B1] IS NOT NULL)"을 시도했지만 빠진 매개 변수에 대해 불평합니다. 첫 번째 행에 상관없이 포함 된 내용, 헤더로 취급되지 않음을 의미합니다

Excel 8.0;HDR=Yes 

말을 연결 문자열에서


Dim rs2 As New ADODB.Recordset 
Dim cnn2 As New ADODB.Connection 
Dim cmd2 As New ADODB.Command 
Dim intField As Integer 
Dim strFile As String 

strFile = fncOpenFile 
If strFile = "" Then Exit Sub 

With cnn2 
    .Provider = "Microsoft.Jet.OLEDB.4.0" 
    .ConnectionString = "Data Source='" & strFile & "'; " & "Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'" 
    .Open 
End With 

Set cmd2.ActiveConnection = cnn2 
cmd2.CommandType = adCmdText 
cmd2.CommandText = "SELECT * FROM [PCR$]" 
rs2.CursorLocation = adUseClient 
rs2.CursorType = adOpenDynamic 
rs2.LockType = adLockOptimistic 

rs2.Open cmd2 

답변

5

:

이 전체 코드입니다. 당신이 F1을 사용하고자하는 경우에는 HDR=Yes 옵션을 가지고 있기 때문에, 등 F2는,

Excel 8.0;HDR=No 
관련 문제