Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как скопировать запросы и модули из одной базы в д, Access в Access 
V
    Опции темы
k0c9k
Дата 9.11.2007, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 24.12.2006

Репутация: нет
Всего: нет



Заранее благодарю за помощь. 
З.Ы. любые линки по теме приветствуются
PM MAIL   Вверх
k0c9k
Дата 10.11.2007, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 24.12.2006

Репутация: нет
Всего: нет



Так. как копирнуть запросы я вроде разобрался
Код

Sub CopyQueries()
Dim nameFrom As String
Dim nameTo As String

' Path to the new DB
nameTo = "d:\projects\abfrage\new"

Dim newDb As Database
Set newDb = OpenDatabase(nameTo)

For Each o In CurrentDb.QueryDefs
    If ObjectExists("Query", o.Name, newDb) Then
        newDb.QueryDefs.Delete (o.Name)
    End If
    If (InStr(o.Name, "~") = 0) Then
        Set QueryDef = newDb.CreateQueryDef(o.Name, o.SQL)
    End If
Next o

MsgBox (Done)
End Sub


да. кстати - ктонибудь знает что за запросы которые начинаются с "~" ? так их в базе не видно, но когда копируешь - они всплывают.
а вот с копированием макросов - тут *опа. вообще непонятно. находятся они не в базе, а в application. 
Код

CurrentProject.AllMacros

и как из одной базы в другую кинуть - на данный момент загадка. может кто знает ?
PM MAIL   Вверх
Akina
Дата 10.11.2007, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Любые объекты запросто ИМПОРТИРУЮТСЯ из внешней базы данных. И смысла делать это программно я лично не вижу.

Цитата(k0c9k @  10.11.2007,  16:25 Найти цитируемый пост)
что за запросы которые начинаются с "~" ? 

Это запросы из конструкторов отчетов и прочих объектов БД.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
mihanik
Дата 11.11.2007, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 9
Всего: 109



Akina, может мне сразу вопросы по Access переносить в твой раздел? (Базы данных - Access )

Дело в том, что лично я в Access, - скажем так, - не силён...

Остальные тоже.
А тут целый раздел по Access?



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
k0c9k
Дата 14.11.2007, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 24.12.2006

Репутация: нет
Всего: нет



Akina
Цитата(Akina @  10.11.2007,  21:32 Найти цитируемый пост)
Любые объекты запросто ИМПОРТИРУЮТСЯ из внешней базы данных.

Конечно запросто импортируются. но это возможно в случае если размер базы менее ~2 Гб (точно не ручаюсь сказать). иначе эта функция перестает работать.


PM MAIL   Вверх
Akina
Дата 14.11.2007, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Цитата(k0c9k @  14.11.2007,  16:16 Найти цитируемый пост)
это возможно в случае если размер базы менее ~2 Гб (точно не ручаюсь сказать). иначе эта функция перестает работать.

При размере БД более 2 Гб она вообще перестанет работать.
С другой стороны речь шла об импорте объектов, а не данных, которые (особенно при таком объеме) просто обязаны лежать в отдельной БД - разделение баз данных не идиоты придумали...

Цитата(mihanik @  11.11.2007,  12:48 Найти цитируемый пост)
может мне сразу вопросы по Access переносить в твой раздел? (Базы данных - Access )

Если вопрос касается именно Аксесса, а не общий по VBA - конечно. Впрочем, никто не запрещает оставить переадресующий линк (кому я это рассказываю?).


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
k0c9k
Дата 14.11.2007, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 24.12.2006

Репутация: нет
Всего: нет



Akina, Ну вот по независящим от меня причинам это сделано именно так. А сделать скрипт - самое простое на текущий момент. 
PM MAIL   Вверх
Akina
Дата 14.11.2007, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Цитата(k0c9k @  14.11.2007,  18:17 Найти цитируемый пост)
по независящим от меня причинам это сделано именно так

Значит, есть достаточные основания изменить текущее положение вещей. ИМХО.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
k0c9k
Дата 14.11.2007, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 24.12.2006

Репутация: нет
Всего: нет



Akina, спасибо за советы, но база далеко - и недоступна для меня.  
как сделать copyobject из одного application в другое ?
PM MAIL   Вверх
k0c9k
Дата 16.11.2007, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 24.12.2006

Репутация: нет
Всего: нет



всем любителям полемики - привет.
Код

Sub CopyMacroModule()
Dim nameTo As String

' Path to the new DB
nameTo = "d:\new.mdb"

For Each o In Application.CurrentProject.AllMacros
    Application.DoCmd.TransferDatabase acExport, "Microsoft Access", nameTo, acMacro, o.Name, o.Name
Next o

For Each o In Application.CurrentProject.AllModules
    Application.DoCmd.TransferDatabase acExport, "Microsoft Access", nameTo, acModule, o.Name, o.Name
Next o

End Sub

PM MAIL   Вверх
Akina
Дата 16.11.2007, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



По той же методике можно и импорт делать. Кстати.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0665 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.