Импорт БД с необходимыми вкладками

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,

спасибо, спасибо, спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)))