Импорт экспорт данных из xls в mdb - VB

Узнай цену своей работы

Формулировка задачи:

Доброго всем времени суток,
помогите пожалуйста разобраться человеку недавно начавшему работать с 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>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4 из 5