Импорт БД с необходимыми вкладками
no_boss
Дата: 21.12.2011 17:25:21
Уважаемые форумчане, задача у меня в том, чтобы создать форму, в которой будет
1) поле, в которое можно ввести путь к БД
2) всплывающее поле, в котором можно выбрать нужные для импорта вкладки
3) кнопка, осуществляющая импорт .mdb из одной БД (путь которой пишется в поле) в другую БД (в которой у нас форма)
как можно осуществить подобный импорт?
mds_world
Дата: 21.12.2011 17:57:04
no_boss |
---|
2) всплывающее поле, в котором можно выбрать нужные для импорта вкладки |
Что такое "нужные для импорта вкладки"? Таблицы, формы, запросы? Или иное?
no_boss
Дата: 21.12.2011 18:00:43
mds_world,
в данном случае это исключительно таблицы
З.Ы. заранее скажу, что я знаю про возможность использования "Внешние данные-> импорт", но интересует именно решение через форму
mds_world
Дата: 21.12.2011 20:07:57
no_boss,
открываете бд (set db=dbengine(0).opendatabase(полеформыгдепутькбд)) и циклом обходите коллекцию TablrDefs для получения списка таблиц. Или создаете объект Application и таблицы получаете из CurrentData.AllTables. Заполняете список таблиц (если он нужен), выбираете нужную. Для импорта таблицы можно использовать запрос, или метод TransferDatabase, или линковку таблиц
no_boss
Дата: 22.12.2011 11:20:14
Беда в том, что в VBA я совсем профан(((
вот написал что-то:
Private Sub Кнопка2_Click()
Dim i As Integer
Dim db As Database
Dim rst As Recordset
Set db = DBEngine(0).OpenDatabase(Bd_path)
For i = 0 To TableDefs.Count
Set rst = dbs.OpenRecordset(dbs.TableDefs(ii).Name)
rst.Close
Next
dbs.Close
End Sub
только ошибку пишет при обходе TableDefs
Подскажите, что не так делаю
З.Ы. прикрепил .mdb
no_boss
Дата: 22.12.2011 12:50:49
Если лень смотреть, то подскажите возможно ли использовать select into:
Если да, то в чем ошибка синтаксиса
select [БД] into [НоваяТаблица] from [Имя_файла] in 'Путь_к_файлу'
mds_world
Дата: 22.12.2011 12:56:29
Куча ошибок. Кое-что исправил
no_boss
Дата: 22.12.2011 13:47:25
mds_world,
спасибо огромное, даже не знаю как вас благодарить, разве что ящик пива высылать в Ташкент)))
мини вопрос если можно:
в выражении
DoCmd.TransferDatabase acImport, "Microsoft Access", Me.Bd_path, acTable, Me.lstTable, Me.lstTable
Me.lstTable, Me.lstTable это Source и Destination соответственно, а как изменить эту команду, что кнопка осуществляла импорт всех баз из списка таблиц?
mds_world
Дата: 22.12.2011 14:27:38
Лови
no_boss
Дата: 22.12.2011 14:37:17
mds_world,
спасибо, спасибо, спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)))