|
Копирование таблиц средствами VBA
|
|||
---|---|---|---|
#18+
Можно ли как-то перенести таблицу из одной базы в другую программно -средствами VBA. Без построения таблицы и полей средствами VBA. Мне надо сделать небольшую программку на Access 2007, создать в ней таблицу (конструктором), отдать программку пользователю, он нажмёт кнопочку на всплывающей форме и таблица "перепрыгнет" к нему в базу. Или я фантазёр? -------------------------------------------------------------------------- СПС ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2016, 09:38 |
|
Копирование таблиц средствами VBA
|
|||
---|---|---|---|
#18+
час58, сам не делал, но функционал есть в 2007. Запрос на создание таблицы - стандартным конструктором только указываете базу получатель или ручками написать с формированием строки адреса базы ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2016, 14:42 |
|
Копирование таблиц средствами VBA
|
|||
---|---|---|---|
#18+
час58, DoCmd.TransferDatabase ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2016, 15:09 |
|
Копирование таблиц средствами VBA
|
|||
---|---|---|---|
#18+
час58, или DoCmd.CopyObject ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2016, 15:11 |
|
Копирование таблиц средствами VBA
|
|||
---|---|---|---|
#18+
час58, или SELECT…INTO ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2016, 15:14 |
|
Копирование таблиц средствами VBA
|
|||
---|---|---|---|
#18+
час58, Кроме того, о недостатках способа SELECT…INTO почитайте здесь: создать пустую таблицу со структурой существующей . Что про "пустую" - не обращайте внимания, все то же самое относится и к "полной".))) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2016, 15:53 |
|
Копирование таблиц средствами VBA
|
|||
---|---|---|---|
#18+
__Michelle, понял. спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2016, 19:53 |
|
Копирование таблиц средствами VBA
|
|||
---|---|---|---|
#18+
Игортан, Это не понял. как ? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2016, 19:54 |
|
Копирование таблиц средствами VBA
|
|||
---|---|---|---|
#18+
час58, мастером конструкторов создайте запрос нужных данных. Потом переключитесь в тип окна - конструктор(запроса) там на вкладке будет - создать таблицу. Нажимаете. Далее по вопросам мастера. После этого можно посмотреть сформированную строку запроса. переключить запрос в вид - SQL. Или его задействовать, или сделать свой в vba, Если динамичность нужна. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2016, 21:07 |
|
Копирование таблиц средствами VBA
|
|||
---|---|---|---|
#18+
Игортан, ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2016, 21:07 |
|
Копирование таблиц средствами VBA
|
|||
---|---|---|---|
#18+
Игортан, ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2016, 21:07 |
|
Копирование таблиц средствами VBA
|
|||
---|---|---|---|
#18+
Игортан, Спасибо огромное. Понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2016, 21:10 |
|
Копирование таблиц средствами VBA
|
|||
---|---|---|---|
#18+
Игортан, Чем результат этих манипуляций отличается от 19624621 ? Тем, что запрос wizard составит? А как быть с 19624691 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2016, 21:24 |
|
Копирование таблиц средствами VBA
|
|||
---|---|---|---|
#18+
час58, Думаю, вам надо немного оптимизировать процесс. Вы забрасываете нужные таблицы в "транзитный" файл, пользователь размещает этот файл в определённый каталог, после чего прямо у себя в программе (я так понимаю, что у пользователя программа вашей разработки) нажимает кнопочку "принять". То есть нет нужды в транзитном файле делать формочку, кнопочку, и пользователю метаться между программами и тыкать кнопочки там и сям. Правда, тут удобно и "культурно" по нажатию кнопочки сделать предварительную проверку наличия в каталоге файла с определённым именем, и проверку наличия таблицы. Плюс по этой же кнопочке, или отдельной - сделать удаление из базы пользователя старых таблиц. Тогда не будет вылетать ошибок. Сама загрузка таблицы из внешнего файла выполняется, как было сказано __Michelle командой DoCmd.TransferDatabase acImport, "Microsoft Access", NameFiles, acTable, "ТаблицаВФайле", "ТаблицаВФайлеПришло", False. Если интересно - могу скинуть пример и расписать подробнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2016, 01:10 |
|
Копирование таблиц средствами VBA
|
|||
---|---|---|---|
#18+
Tarasios, Спасибо. Вы оч подробно всё расписали. ----------------------------------- То есть нужно добавить кнопку в сервисной форме программы: [Загрузить обновление]. ----------------------------------- И иногда ею пользоваться. ================================================= Но это только если изменения коснулись добавления таблиц, форм, отчётов, запросов в отдельности. Если же изменения коснулись и модулей и форм и запросов с отчётами - проще просто заменить файл с интерфейсом. Или у Вас и на этот счёт есть хороший совет? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2016, 12:55 |
|
Копирование таблиц средствами VBA
|
|||
---|---|---|---|
#18+
Tarasios, Задачей обновления может быть просто добавка в имеющуюся таблицу с данными - нового поля(полей). Задачей обновления может быть разбивка поля таблицы на 2-... поля с разносом данных по добавленным полям. Задачи могут быть разными. Поэтому я создаю файл с формой и кнопочкой - [Обновить программу] Файл кладётся в директорию программы и запускается. Пользователь жмёт кнопочку Выполняется код (проверка и исправления). И пользователь получает сообщение о том, что всё норм. Мне кажется такой вариант обновления более приемлем. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2016, 13:13 |
|
Копирование таблиц средствами VBA
|
|||
---|---|---|---|
#18+
час58, Я, наверное, извращенец: если я вижу запрос "Можно ли как-то перенести таблицу из одной базы в другую программно -средствами VBA.", то я предполагаю, что речь идёт именно о "перенести таблицу". И, по мере умений, даю вариант ответа именно на этот запрос. Каюсь, что не допетрил о всех остальных хотелках ТС ))) А заниматься теоретизированием, где, как и в каких ипостасях может использоваться обновление БД - вещь, не спорю - архиинтересная, но требует отдельного топика ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2016, 20:07 |
|
Копирование таблиц средствами VBA
|
|||
---|---|---|---|
#18+
Tarasios, Я имел ввиду что у пользователя программы не может быть универсальной кнопочки загрузки обновления. Или вы предлагаете сделать таковую кнопку на один сеанс обновления? Или что вы имеете ввиду, говоря о моих хотелках? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2016, 20:20 |
|
Копирование таблиц средствами VBA
|
|||
---|---|---|---|
#18+
час58, откуда взялась "универсальная кнопочка загрузки обновлений"? Если первоначально речь шла именно о переносе таблицы (таблиц)? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2016, 20:29 |
|
Копирование таблиц средствами VBA
|
|||
---|---|---|---|
#18+
час58Можно ли как-то перенести таблицу из одной базы в другую программно -средствами VBA. Без построения таблицы и полей средствами VBA.А через буфер обмена - не? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2016, 20:30 |
|
Копирование таблиц средствами VBA
|
|||
---|---|---|---|
#18+
час58Или что вы имеете ввиду, говоря о моих хотелках? Я извиняюсь , что встряю. Но о Ваших хотелках , мне кажется вообще бредовая идея. 1.Если брать во внимание метод Seek , то получается , что у Вас неразделенная база , и таблицы и вся программа находятся в одной базе , что не очень то и хорошо. На мой взгляд . 2 . Самый простой способ , это сделать изменения в программе и переслать клиенту . 3. А Вы не задумывались над квалификацией клиента , и то что у него таблицы с данными ? А если что нибудь пойдет не так ? 4. И частое изменение структур таблиц , на мой взгляд говорит о плохом проэктировании базы. 5. Этот список можно было бы продолжать до бесконечности 6. Извиняюсь если обидел , ничего личного. 7. А теперь все быстренько налетели на меня и заклевали . ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2016, 20:32 |
|
Копирование таблиц средствами VBA
|
|||
---|---|---|---|
#18+
Tarasios, Вы предложили сделать кнопочку в программе, а не в "транзитном" файле . ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2016, 20:48 |
|
Копирование таблиц средствами VBA
|
|||
---|---|---|---|
#18+
D.B, 1 интерфейс и таблицы в разных базах. 2 Файл с таблицами от этого не изменится . 3 Квалификация пользователя??? Он не пишет программу, а только нажимает на кнопочки. 4 база в начальной стадии разработки, но пользователь не хочет терять данные, которые вбил. иду ему на встречу. 5 ,6,7 - http://www.sql.ru/forum/images/laugh.gif ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2016, 20:54 |
|
Копирование таблиц средствами VBA
|
|||
---|---|---|---|
#18+
D.B3. А Вы не задумывались над квалификацией клиента , и то что у него таблицы с данными ? А если что нибудь пойдет не так ? 4. И частое изменение структур таблиц , на мой взгляд говорит о плохом проэктировании базы Есть такой момент. Но меня всегда мучает вопрос: что делать? - Человек хочет новую хотелку. Для этого нужно или модифицировать уже имеющуюся таблицу или добавить новую+связать. И вот что делать? 1. Попадать к нему по удаленке и делать ручками? - Не всегда прокатывает 2. а)Присылать базку апгрейда с кодом на автоматич создание/добавление таблиц/полей(я уже когда чую, что человек попросит, загодя ложу пару полей в таблицу. Некрасиво, но при попадании облегчает жизнь мне) 2. б)потом присылать уже новую версию клиентского файла. 3. Встроить апгрейд в клиентский файл и при старте проверять, что и куда, есть или нет. И апгрейдить. Но тоже не красивый способ. При каждом старте увеличивается время на проверку уже сделанного апгрейда... И хорошо бы пройтись по теме. Есть заинтересованность в быстром и легком решении))) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2016, 20:56 |
|
Копирование таблиц средствами VBA
|
|||
---|---|---|---|
#18+
час58, правильно, для приёма таблиц. Пересмотрите собственный "старт" топика. Я предложил, что при таком варианте у пользователя будет меньше ненужных движений. Во всяком случае, в моей ситуации я начинал с форм и кнопок в транзитном файле. Потом перешёл на вариант кнопки приёма в интерфейсе программы прямо у пользователя. Это оказалось значительно удобнее. Процедуры обработки - вторичны, потому я и описал эту методику схематично, "до востребования". А вы вдруг переключились на: "Но это только если изменения коснулись добавления таблиц, форм, отчётов, запросов в отдельности. Если же изменения коснулись и модулей и форм и запросов с отчётами -..." Это ведь совсем другая задача, и как бы не относится к теме. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2016, 20:57 |
|
|
start [/forum/topic.php?fid=45&msg=39303349&tid=1613190]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
37ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 140ms |
0 / 0 |