Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: MS_4G
Здравствуйте все!
Появился вот такой вопросик.
Я занимаюсь разработкой приложений в среде 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

Может быть, панели и меню тоже можно подобным образом скопировать?
Кто знает, подскажите.
Заранее спасибо.


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.