2010-01-18 12 views
7

मैं वीबीए और में एक्सेल वर्कशीट से पूछताछ करना चाहता हूं।एमएस-एक्सेस वीबीए (एडीओडीबी रिकॉर्डसेट का उपयोग कर) में एक्सेल वर्कशीट क्वेरी

सरल क्वेरी "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

अपने कनेक्शन स्ट्रिंग में:

यह पूरा कोड है। आप एफ 1 का उपयोग करना चाहते हैं, तो F2 आदि का कहना है कि

Excel 8.0;HDR=No 
संबंधित मुद्दे