| Здравствуйте все!
Появился вот такой вопросик.
Я занимаюсь разработкой приложений в среде MAccess 2003. В некоторых ситуациях объекты в создаваемое приложение должны быть скопированы из других, ранее разработанных приложений, причем копирование должно производиться программным путем, средствами VBA/DAO. Для некоторых объектов (таблицы, запросы,...) вопрос решен. А как скопировать панели и меню?
Для конструктивного обсуждения прилагаю два фрагмента, которые сделаны и реально работают.
Первый фрагмент производит копирование всех таблиц, кроме системных, из одного приложения в другое.
Здесь dbn - база данных-источник, aca - ссылка на объект приложение-источник, flnm - имя (полное) создаваемого приложения. Остальное понятно по тексту.
При этом переносятся как локальные, так и связанные таблицы, которые есть в приложении-источнике.
For Each tbl In dbn.TableDefs
tbln = tbl.Name
If Left(tbln, 4) <> "MSys" Then
aca.DoCmd.TransferDatabase acExport, "Microsoft Access", flnm, _
acTable, tbln, tbln
End If 'Left(tbln, 4) <> "MSys"
Next 'For Each tbl In dbn.TableDefs
Второй фрагмент производит копирование всех форм из одного приложения в другое.
Здесь prn - проект-источник, остальное аналогично предыдущему.
For Each frm In prn.AllForms
frmn = frm.Name
aca.DoCmd.TransferDatabase acExport, "Microsoft Access", flnm, _
acForm, frmn, frmn
Next 'For Each frm In prn.AllForms
Может быть, панели и меню тоже можно подобным образом скопировать?
Кто знает, подскажите.
Заранее спасибо. | |