powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / импорт из экселя в таблицу MS Access-a средствами VB (не путать с VBA)
8 сообщений из 8, страница 1 из 1
импорт из экселя в таблицу MS Access-a средствами VB (не путать с VBA)
    #35995037
Фотография by-pass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем доброго времени,
а как можно в VB (именно в бейсике, а не в аксесовском VBA) применить TransferSpreadsheet ?
или другим способом импортировать все содержимое экселевского файла в существующую таблицу ?
...
Рейтинг: 0 / 0
импорт из экселя в таблицу MS Access-a средствами VB (не путать с VBA)
    #35997744
не важно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
by-passименно в бейсике здесь и где-нибудь в поиске
там надо thisworkbook.path заменить на app.path
и excel-евскую библиотеку "Microsoft Excel ?? Object Library" подключить в references
и заменить вот эти строки
Код: plaintext
1.
2.
3.
4.
5.
    Dim WB As Workbook
    Dim SH As Worksheet

    Set WB = Workbooks.Open(xls)
    Set SH = WB.Sheets(lst)
на
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
    Dim XL As Excel.Application
    Dim WB As Excel.Workbook
    Dim SH As Excel.Worksheet
    
    Set XL = CreateObject("Excel.Application")
    Set WB = XL.Workbooks.Open(xls)
    Set SH = WB.Sheets(lst)
всё остальное то же что и в VB6

разумеется есть и другие способы
...
Рейтинг: 0 / 0
импорт из экселя в таблицу MS Access-a средствами VB (не путать с VBA)
    #35997850
Фотография by-pass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо, но не подходит :(
там цикл по строкам в экселе, а при их количестве более 30.000 это будет несколько минут.
должны быть другие способы, типа макроса в аксесовской MDB, который импортирует такой файл в таблицу за 3 секунды
...
Рейтинг: 0 / 0
импорт из экселя в таблицу MS Access-a средствами VB (не путать с VBA)
    #35998036
не важно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тут майкрософт приводит примерчик (пригодится)

можно, конечно, читать лист икселя не построчно, а целиком, командой SELECT
как таблицу базы данных, но тогда лист икселя должен быть соответствующим,
то есть первая строка, это заголовок, если HDR=YES
вторая и последующие строки, это набор данных. Одна колонка, один тип данных.

версия excel-я может быть другой
Код: plaintext
SELECT * INTO ImportFromExcel FROM [Sheet1$A1:E30001] IN 'C:\File.xls'[Excel  5 . 0 ;HDR=YES;IMEX= 1 ];
Код: plaintext
1.
INSERT INTO ImportFromExcel SELECT * FROM [Sheet1$A1:E30001] IN 'C:\File.xls'[Excel 5.0;HDR=YES;IMEX=1];
...
Рейтинг: 0 / 0
импорт из экселя в таблицу MS Access-a средствами VB (не путать с VBA)
    #35998090
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
by-passза 3 секундыещё вариант
можно сказать мгновенно.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    Dim db As DAO.Database             'Microsoft DAO 3.6 Objects Library
    Dim TB As DAO.TableDef
    Set db = DBEngine.Workspaces( 0 ).OpenDatabase(mdb)
    
    Set TB = db.CreateTableDef("Таблица_Книга1")
    TB.Connect = "Excel 8.0;HDR=YES;IMEX=1;DataBase=" & pth & "\Книга1.xls"
    TB.SourceTableName = "Лист1$"
    db.TableDefs.Append TB
    Set TB = Nothing
    
    db.Close:  Set db = Nothing
...
Рейтинг: 0 / 0
импорт из экселя в таблицу MS Access-a средствами VB (не путать с VBA)
    #35998415
Фотография by-pass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
не важно
читал это, так и не смог понять, где выделенный фрагмент вставляется в таблицу MDB ?

Код: plaintext
klen_
код создает в MDB линк на экселевский файл, со всем вытекающим негативом - это не то
нужен "чистый" импорт в таблицу
...
Рейтинг: 0 / 0
импорт из экселя в таблицу MS Access-a средствами VB (не путать с VBA)
    #35998448
Фотография by-pass
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем спасибо !
тема закрыта, вот кому интересно
тынц
...
Рейтинг: 0 / 0
импорт из экселя в таблицу MS Access-a средствами VB (не путать с VBA)
    #35998678
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: by-pass
> всем спасибо !

Если файлик для импорта готовят ручками, то будь готов к тому, что в один прекрасный день к тебе придут и скажут что не
все данные импортировались или не правильно импортировались.
Даже если и автоматом генериться файлик, я не исключаю такую возможность


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / импорт из экселя в таблицу MS Access-a средствами VB (не путать с VBA)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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