Импорт экспорт данных из xls в mdb - VB
Формулировка задачи:
Доброго всем времени суток,
помогите пожалуйста разобраться человеку недавно начавшему работать с VBА(((.
Собственно существует следующая задача:
есть папка в которой лежат xls файлы одной структуры, но с разным числом строк.
1 Надо импортировать информацию из данных файлов в mdb
2 Создать отдельный файл xls для выгрузки в него информации из созданого mdb
3 Зделать возможность перезаписи информации в БД из этого файла.
Буду очень благодарен, если кто с этим сталкивался, кинуть код.
помогите пожалуйста разобраться человеку недавно начавшему работать с VBА(((.
Собственно существует следующая задача:
есть папка в которой лежат xls файлы одной структуры, но с разным числом строк.
1 Надо импортировать информацию из данных файлов в mdb
2 Создать отдельный файл xls для выгрузки в него информации из созданого mdb
3 Зделать возможность перезаписи информации в БД из этого файла.
Буду очень благодарен, если кто с этим сталкивался, кинуть код.
Решение задачи: «Импорт экспорт данных из xls в mdb»
textual
Листинг программы
<font color="blue">Private</font> <font color="blue">Sub</font> proba()
<font color="blue">On</font> <font color="blue">Error</font> <font color="blue">GoTo</font> Err1
<font color="blue">Dim</font> pth <font color="blue">As</font> <font color="blue">String</font>
<font color="blue">Dim</font> mdb <font color="blue">As</font> <font color="blue">String</font>
<font color="blue">Dim</font> tbl <font color="blue">As</font> <font color="blue">String</font>
<font color="blue">Dim</font> xls <font color="blue">As</font> <font color="blue">String</font>
<font color="blue">Dim</font> lst <font color="blue">As</font> <font color="blue">String</font>
pth = ThisWorkbook.Path & <font color="teal">"\Подкаталог с xls"</font>
tbl = <font color="teal">"Таблица1"</font>
mdb = pth & <font color="teal">"\db1.mdb"</font>
<font color="00AA00">' Dim db As ADOX.Catalog 'Microsoft ADO Ext. 2.8 for DDL and Security</font>
<font color="00AA00">' Set db = New ADOX.Catalog</font>
<font color="00AA00">' db.Create <font color="teal">"Provider=Microsoft.Jet.OLEDB.4.0;"</font> & <font color="teal">"Data Source="</font> & mdb & <font color="teal">";"</font></font>
<font color="00AA00">' Set db = Nothing</font>
<font color="00AA00">'или с помощью DAO</font>
<font color="blue">Dim</font> db <font color="blue">As</font> DAO.Database <font color="00AA00">'Microsoft DAO 3.6 Objects Library</font>
<font color="blue">Set</font> db = DBEngine.Workspaces(<font color="darkblue"><b>0</b></font>).CreateDatabase(mdb, dbLangCyrillic)
<font color="blue">Set</font> db = <font color="blue">Nothing</font>
<font color="blue">Dim</font> db1 <font color="blue">As</font> ADODB.Connection <font color="00AA00">'Microsoft ActiveX Data Objects 2.8 Library</font>
<font color="blue">Set</font> db1 = <font color="blue">New</font> ADODB.Connection
db1.Provider = <font color="teal">"Microsoft.Jet.OLEDB.4.0"</font>
db1.<font color="blue">Open</font> mdb, <font color="teal">"Admin"</font>
db1.Execute <font color="teal">"CREATE TABLE "</font> & tbl & <font color="teal">" (pole1 VARCHAR(30), pole2 NUMERIC(20,5))"</font>
lst = <font color="teal">"Лист1"</font>
xls = Dir(pth & <font color="teal">"\*.xls"</font>)
Read_xls pth & <font color="teal">"\"</font> & xls, lst, db1, tbl
<font color="blue">Do</font> <font color="blue">While</font> xls <> <font color="teal">""</font>
xls = Dir
<font color="blue">If</font> xls <> <font color="teal">""</font> <font color="blue">And</font> (xls Like <font color="teal">"*.xls"</font>) <font color="blue">Then</font>
Read_xls pth & <font color="teal">"\"</font> & xls, lst, db1, tbl
<font color="blue">End</font> <font color="blue">If</font>
<font color="blue">Loop</font>
db1.<font color="blue">Close</font>: <font color="blue">Set</font> db1 = <font color="blue">Nothing</font>
Err1:
<font color="blue">If</font> Err.Number <> <font color="darkblue"><b>0</b></font> <font color="blue">Then</font>
MsgBox Err.Description
<font color="blue">On</font> <font color="blue">Error</font> <font color="blue">Resume</font> <font color="blue">Next</font>
db1.<font color="blue">Close</font>: <font color="blue">Set</font> db1 = <font color="blue">Nothing</font>
<font color="blue">End</font> <font color="blue">If</font>
<font color="blue">End</font> <font color="blue">Sub</font>