powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / импорт экспорт данных из xls в mdb
6 сообщений из 6, страница 1 из 1
импорт экспорт данных из xls в mdb
    #35990768
on_lexx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго всем времени суток,
помогите пожалуйста разобраться человеку недавно начавшему работать с VBА(((.
Собственно существует следующая задача:
есть папка в которой лежат xls файлы одной структуры, но с разным числом строк.
1 Надо импортировать информацию из данных файлов в mdb
2 Создать отдельный файл xls для выгрузки в него информации из созданого mdb
3 Зделать возможность перезаписи информации в БД из этого файла.
Буду очень благодарен, если кто с этим сталкивался, кинуть код.
...
Рейтинг: 0 / 0
импорт экспорт данных из xls в mdb
    #35993098
уточнение
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
on_lexxработать с VBА(((.а Вы в чём будете делать, в excel-е или в access-е или VB6
...
Рейтинг: 0 / 0
импорт экспорт данных из xls в mdb
    #35993171
on_lexx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотелось бы в экселе при помощи кнопок(
...
Рейтинг: 0 / 0
импорт экспорт данных из xls в mdb
    #35993172
on_lexx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да VB6
...
Рейтинг: 0 / 0
импорт экспорт данных из xls в mdb
    #35995525
onl_lexx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот вроди бы получилось импортировать из дб, надо сказать честно весь форум облазил
но подкачка файлов всё ещё под вопросом((((


Sub UpdateInfoFromDB()
'---------- объявление переменных ------
' переменная типа базы данных
Dim dbAccess As Database
' переменная типа набор записей
Dim reRecordSet As Recordset
' здесь будет SQL запрос
Dim stSQL As String
' переменная типа даты
Dim daDate As Date
Dim qt As QueryTable
Dim GPPSI As Integer
Dim cn As New ADODB.Connection, r As New ADODB.Recordset, i As Integer

'cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;"

' а вдруг ошибка
'On Error GoTo ErrorsDB


' ---------- получаем данные из ячейки
daDate = Range("A4").Value
' ---------- работа с базой ------------
' откроем базу данных
cn = "Microsoft.Jet.OLEDB.4.0"
Set dbAccess = OpenDatabase("C:\Documents and Settings\Lexx\Рабочий стол\Форма\FIZ")
' Строим SQL запрос
stSQL = "SELECT * FROM[GPPSI] WHERE[Поле1] =""" & daDate & """"
' получаем набор значений
Set reRecordSet = dbAccess.OpenRecordset("GPPSI")
' если данные получены тогда занести в ячейку
If (reRecordSet.RecordCount > 0) Then
' поместить значение в ячейку
'Range("GPPSI").Value = reRecordSet!Поле2
''или
Range("A4").CopyFromRecordset reRecordSet
Else
MsgBox "Not Found"
End If

' закрываем набор записей
reRecordSet.Close
' закрываем базу данных
dbAccess.Close
' все в норме конец
GoTo Ends
' ошибка где-то однако
ErrorsDB:
MsgBox "Произошла ошибка"
Ends:



End Sub
...
Рейтинг: 0 / 0
импорт экспорт данных из xls в mdb
    #35995693
уточнение
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
честно говоря на скору руку
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
Private Sub proba()
On Error GoTo Err1
    Dim pth As String
    Dim mdb As String
    Dim tbl As String
    Dim xls As String
    Dim lst As String

    pth = ThisWorkbook.Path & "\Подкаталог с xls"
    tbl = "Таблица1"
    
    mdb = pth & "\db1.mdb"
    
'    Dim db As ADOX.Catalog             'Microsoft ADO Ext. 2.8 for DDL and Security
'    Set db = New ADOX.Catalog
'    db.Create "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & mdb & ";"
'    Set db = Nothing
    
    'или с помощью DAO
    Dim db As DAO.Database             'Microsoft DAO 3.6 Objects Library
    Set db = DBEngine.Workspaces( 0 ).CreateDatabase(mdb, dbLangCyrillic)
    Set db = Nothing
    
    Dim db1 As ADODB.Connection         'Microsoft ActiveX Data Objects 2.8 Library
    Set db1 = New ADODB.Connection
    db1.Provider = "Microsoft.Jet.OLEDB.4.0"
    db1.Open mdb, "Admin"
    db1.Execute "CREATE TABLE " & tbl & " (pole1 VARCHAR(30), pole2 NUMERIC(20,5))"
    
    lst = "Лист1"
    xls = Dir(pth & "\*.xls")
    
    Read_xls pth & "\" & xls, lst, db1, tbl
    
    Do While xls <> ""
        xls = Dir
        If xls <> "" And (xls Like "*.xls") Then
            Read_xls pth & "\" & xls, lst, db1, tbl
        End If
    Loop
    
    db1.Close:  Set db1 = Nothing
    
Err1:
    If Err.Number <>  0  Then
        MsgBox Err.Description
        On Error Resume Next
        db1.Close:  Set db1 = Nothing
    End If
End Sub
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Sub Read_xls(ByVal xls As String, ByVal lst As String, db1 As ADODB.Connection, tbl As String)
    Dim WB As Workbook
    Dim SH As Worksheet

    Set WB = Workbooks.Open(xls)
    Set SH = WB.Sheets(lst)
    
    Dim i As Long, RowMax As Long, p1 As String, p2 As Double, p3 As Date
    With SH.UsedRange
         RowMax = .Rows.Count + .Row -  1 
    End With
    For i =  3  To RowMax
        p1 = "" & SH.Cells(i,  1 )
        p2 = Val(SH.Cells(i,  2 ))
        db1.Execute "INSERT INTO " & tbl & " VALUES ('" & p1 & "', " & p2 & ")"
    Next
    WB.Close
    Set WB = Nothing
    Set SH = Nothing
End Sub
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / импорт экспорт данных из xls в mdb
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]