2015-05-27 1 views
1

Я подключен к листу Excel, который действует как база данных. Мне нужно, чтобы выбрать несколько записей, когда условие, но я получаю сообщение об ошибке:Выберите Statement for Excel Datasource

No value given for one or more required parameters

, используя код ниже:

Dim conn As Object 
Dim rs As ADODB.Recordset 
Set rs = New ADODB.Recordset 
Set conn = CreateObject("ADODB.Connection") 
XLName = "C:\Users\X\Desktop\rawdata.xlsx" 
connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & 
XLName & "';Extended Properties='Excel 12.0;HDR=NO;IMEX=1';" 
conn.Open connString 
rs.Open ("SELECT * FROM [data$] where industry='Government'"), conn, 
adOpenDynamic, adLockReadOnly 
Sheet1.Range("A2").CopyFromRecordset rs 
rs.Close 
conn.Close 
+1

Вы уверены, что «код ниже» ** точно ** что вы имеете в редакторе Visual Basic? Потому что этот код не может компилироваться без продолжения строки '_'. –

ответ

1

Когда вы установите HDR = NO заголовки столбцов из таблицы первенствовать будут игнорироваться и будут использоваться внутренние имена. См. Более старый ответ: c#, oledb connection string issue

+0

Идеально изменилось на HDR = Да, сейчас он работает – Diwakar2u