|
|
|
| Здравствуйте. я новичек , чильно не пинайте....
Подскажите, плиз как табличку из Excel выгрузить в Recordset ? | |
|
| |
|
|
|
| функция вернет ADODB.Recordset по указанному имени файла и имени листа
Public Function GetRecordsetFromExcel(xlsFullFileName As String, xlsSheetName As String) As ADODB.Recordset
'xlsFullFileName - полный путь и имя файла xls с расширением
'xlsSheetName - имя листа который нужно получить
Dim con As ADODB.Connection
Dim rst As ADODB.Recordset
On Error GoTo GetRecordsetFromExcel_Error
Set con = New ADODB.Connection
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & xlsFullFileName & ";Extended Properties=" & Chr(34) & "Excel 8.0;HDR=Yes;IMEX=1" & Chr(34) & ";"
con.Open
Set rst = New ADODB.Recordset
rst.Open "select * from [" & xlsSheetName & "$]", con
Set GetRecordsetFromExcel = rst
On Error GoTo 0
Exit Function
GetRecordsetFromExcel_Error:
MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure GetRecordsetFromExcel of VBA Document Form_Форма3"
End Function
|
| |
|
| |
|
|
|
| Спотыкается на строке
Dim con As ADODB.Connection
user-defined type not defined :( | |
|
| |
|
|
|
|
| Блин! точно !!! А мучался ...:)) | |
|
| |
|
|
|
| Еще вопросик
Dim cnn
Dim path
Dim tablem
path = "C:\temp"
tablem = "table3"
Set cnn = CreateObject("ADODB.Connection")
cnn.Provider = "Microsoft.Jet.OLEDB.4.0"
cnn.Properties("Extended Properties") = "dBase IV"
cnn.Properties("Data Source") = path
cnn.Open
cnn.Execute "CREATE TABLE " & tablem
И если файлик существует вывваливается ошибка, а можно его просто перезаписывать как-то? | |
|
| |
|
|
|
| Нашел выход :))
Dim pDBF As String
pDBF = path & "table3.dbf"
If Len(Dir(pDBF)) > 0 Then
Kill pDBF 'Я пересоздаю dbf каждый раз ЗАНОВО -
End If | |
|
| |