powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Копирование таблиц средствами VBA
25 сообщений из 35, страница 1 из 2
Копирование таблиц средствами VBA
    #39303044
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ли как-то перенести таблицу из одной базы в другую программно -средствами VBA.
Без построения таблицы и полей средствами VBA.
Мне надо сделать небольшую программку на Access 2007, создать в ней таблицу (конструктором), отдать программку пользователю, он нажмёт кнопочку на всплывающей форме и таблица "перепрыгнет" к нему в базу. Или я фантазёр?
--------------------------------------------------------------------------
СПС
...
Рейтинг: 0 / 0
Копирование таблиц средствами VBA
    #39303134
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,

сам не делал, но функционал есть в 2007.
Запрос на создание таблицы - стандартным конструктором
только указываете базу получатель
или ручками написать с формированием строки адреса базы
...
Рейтинг: 0 / 0
Копирование таблиц средствами VBA
    #39303142
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,

DoCmd.TransferDatabase
...
Рейтинг: 0 / 0
Копирование таблиц средствами VBA
    #39303143
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,

или
DoCmd.CopyObject
...
Рейтинг: 0 / 0
Копирование таблиц средствами VBA
    #39303147
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,

или
SELECT…INTO
...
Рейтинг: 0 / 0
Копирование таблиц средствами VBA
    #39303168
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,

Кроме того, о недостатках способа
SELECT…INTO
почитайте здесь: создать пустую таблицу со структурой существующей .
Что про "пустую" - не обращайте внимания, все то же самое относится и к "полной".)))
...
Рейтинг: 0 / 0
Копирование таблиц средствами VBA
    #39303237
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle,

понял.
спасибо.
...
Рейтинг: 0 / 0
Копирование таблиц средствами VBA
    #39303238
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игортан,
Это не понял.
как ?
...
Рейтинг: 0 / 0
Копирование таблиц средствами VBA
    #39303263
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,

мастером конструкторов создайте запрос нужных данных.
Потом переключитесь в тип окна - конструктор(запроса)
там на вкладке будет - создать таблицу. Нажимаете.
Далее по вопросам мастера.

После этого можно посмотреть сформированную строку запроса.
переключить запрос в вид - SQL.

Или его задействовать, или сделать свой в vba, Если динамичность нужна.
...
Рейтинг: 0 / 0
Копирование таблиц средствами VBA
    #39303265
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игортан,
...
Рейтинг: 0 / 0
Копирование таблиц средствами VBA
    #39303266
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игортан,
...
Рейтинг: 0 / 0
Копирование таблиц средствами VBA
    #39303268
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игортан,

Спасибо огромное.
Понял.
...
Рейтинг: 0 / 0
Копирование таблиц средствами VBA
    #39303275
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игортан,

Чем результат этих манипуляций отличается от 19624621 ?
Тем, что запрос wizard составит?
А как быть с 19624691 ?
...
Рейтинг: 0 / 0
Копирование таблиц средствами VBA
    #39303302
Фотография Tarasios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,
Думаю, вам надо немного оптимизировать процесс.
Вы забрасываете нужные таблицы в "транзитный" файл, пользователь размещает этот файл в определённый каталог, после чего прямо у себя в программе (я так понимаю, что у пользователя программа вашей разработки) нажимает кнопочку "принять". То есть нет нужды в транзитном файле делать формочку, кнопочку, и пользователю метаться между программами и тыкать кнопочки там и сям.
Правда, тут удобно и "культурно" по нажатию кнопочки сделать предварительную проверку наличия в каталоге файла с определённым именем, и проверку наличия таблицы. Плюс по этой же кнопочке, или отдельной - сделать удаление из базы пользователя старых таблиц. Тогда не будет вылетать ошибок.
Сама загрузка таблицы из внешнего файла выполняется, как было сказано __Michelle командой
DoCmd.TransferDatabase acImport, "Microsoft Access", NameFiles, acTable, "ТаблицаВФайле", "ТаблицаВФайлеПришло", False.

Если интересно - могу скинуть пример и расписать подробнее.
...
Рейтинг: 0 / 0
Копирование таблиц средствами VBA
    #39303345
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tarasios,

Спасибо.
Вы оч подробно всё расписали.
-----------------------------------
То есть нужно добавить кнопку в сервисной форме программы:
[Загрузить обновление].
-----------------------------------
И иногда ею пользоваться.
=================================================
Но это только если изменения коснулись добавления таблиц, форм, отчётов, запросов в отдельности.
Если же изменения коснулись и модулей и форм и запросов с отчётами - проще просто заменить файл с интерфейсом.
Или у Вас и на этот счёт есть хороший совет?
...
Рейтинг: 0 / 0
Копирование таблиц средствами VBA
    #39303349
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tarasios,

Задачей обновления может быть просто добавка в имеющуюся таблицу с данными - нового поля(полей).
Задачей обновления может быть разбивка поля таблицы на 2-... поля с разносом данных по добавленным полям.
Задачи могут быть разными.
Поэтому я создаю файл с формой и кнопочкой - [Обновить программу]
Файл кладётся в директорию программы и запускается.
Пользователь жмёт кнопочку
Выполняется код (проверка и исправления).
И пользователь получает сообщение о том, что всё норм.

Мне кажется такой вариант обновления более приемлем.
...
Рейтинг: 0 / 0
Копирование таблиц средствами VBA
    #39303433
Фотография Tarasios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,
Я, наверное, извращенец: если я вижу запрос "Можно ли как-то перенести таблицу из одной базы в другую программно -средствами VBA.", то я предполагаю, что речь идёт именно о "перенести таблицу". И, по мере умений, даю вариант ответа именно на этот запрос. Каюсь, что не допетрил о всех остальных хотелках ТС ))) А заниматься теоретизированием, где, как и в каких ипостасях может использоваться обновление БД - вещь, не спорю - архиинтересная, но требует отдельного топика ;)
...
Рейтинг: 0 / 0
Копирование таблиц средствами VBA
    #39303437
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tarasios,
Я имел ввиду что у пользователя программы не может быть универсальной кнопочки загрузки обновления.
Или вы предлагаете сделать таковую кнопку на один сеанс обновления?
Или что вы имеете ввиду, говоря о моих хотелках?
...
Рейтинг: 0 / 0
Копирование таблиц средствами VBA
    #39303440
Фотография Tarasios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58, откуда взялась "универсальная кнопочка загрузки обновлений"? Если первоначально речь шла именно о переносе таблицы (таблиц)?
...
Рейтинг: 0 / 0
Копирование таблиц средствами VBA
    #39303441
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58Можно ли как-то перенести таблицу из одной базы в другую программно -средствами VBA.
Без построения таблицы и полей средствами VBA.А через буфер обмена - не?
...
Рейтинг: 0 / 0
Копирование таблиц средствами VBA
    #39303443
D.B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
D.B
Гость
час58Или что вы имеете ввиду, говоря о моих хотелках?
Я извиняюсь , что встряю.
Но о Ваших хотелках , мне кажется вообще бредовая идея.
1.Если брать во внимание метод Seek , то получается , что у Вас неразделенная база , и таблицы и вся программа находятся в одной базе , что не очень то и хорошо. На мой взгляд .
2 . Самый простой способ , это сделать изменения в программе и переслать клиенту .
3. А Вы не задумывались над квалификацией клиента , и то что у него таблицы с данными ? А если что нибудь пойдет не так ?
4. И частое изменение структур таблиц , на мой взгляд говорит о плохом проэктировании базы.
5. Этот список можно было бы продолжать до бесконечности
6. Извиняюсь если обидел , ничего личного.
7. А теперь все быстренько налетели на меня и заклевали .
...
Рейтинг: 0 / 0
Копирование таблиц средствами VBA
    #39303448
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tarasios,

Вы предложили сделать кнопочку в программе, а не в "транзитном" файле .
...
Рейтинг: 0 / 0
Копирование таблиц средствами VBA
    #39303451
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D.B,
1 интерфейс и таблицы в разных базах.
2 Файл с таблицами от этого не изменится .
3 Квалификация пользователя??? Он не пишет программу, а только нажимает на кнопочки.
4 база в начальной стадии разработки, но пользователь не хочет терять данные, которые вбил.
иду ему на встречу.
5 ,6,7 - http://www.sql.ru/forum/images/laugh.gif
...
Рейтинг: 0 / 0
Копирование таблиц средствами VBA
    #39303452
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D.B3. А Вы не задумывались над квалификацией клиента , и то что у него таблицы с данными ? А если что нибудь пойдет не так ?
4. И частое изменение структур таблиц , на мой взгляд говорит о плохом проэктировании базы
Есть такой момент.
Но меня всегда мучает вопрос: что делать?
- Человек хочет новую хотелку. Для этого нужно или модифицировать уже имеющуюся таблицу или добавить новую+связать.

И вот что делать?
1. Попадать к нему по удаленке и делать ручками? - Не всегда прокатывает
2. а)Присылать базку апгрейда с кодом на автоматич создание/добавление таблиц/полей(я уже когда чую, что человек попросит, загодя ложу пару полей в таблицу. Некрасиво, но при попадании облегчает жизнь мне)
2. б)потом присылать уже новую версию клиентского файла.
3. Встроить апгрейд в клиентский файл и при старте проверять, что и куда, есть или нет. И апгрейдить. Но тоже не красивый способ. При каждом старте увеличивается время на проверку уже сделанного апгрейда...

И хорошо бы пройтись по теме. Есть заинтересованность в быстром и легком решении)))
...
Рейтинг: 0 / 0
Копирование таблиц средствами VBA
    #39303453
Фотография Tarasios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58, правильно, для приёма таблиц. Пересмотрите собственный "старт" топика. Я предложил, что при таком варианте у пользователя будет меньше ненужных движений. Во всяком случае, в моей ситуации я начинал с форм и кнопок в транзитном файле. Потом перешёл на вариант кнопки приёма в интерфейсе программы прямо у пользователя. Это оказалось значительно удобнее. Процедуры обработки - вторичны, потому я и описал эту методику схематично, "до востребования".
А вы вдруг переключились на:
"Но это только если изменения коснулись добавления таблиц, форм, отчётов, запросов в отдельности.
Если же изменения коснулись и модулей и форм и запросов с отчётами -..."
Это ведь совсем другая задача, и как бы не относится к теме.
...
Рейтинг: 0 / 0
25 сообщений из 35, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Копирование таблиц средствами VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]