powered by simpleCommunicator - 2.0.31     © 2024 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Автоматизированное обновления программы
63 сообщений из 63, показаны все 3 страниц
Автоматизированное обновления программы
    #40136607
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для того, чтобы обновить данные в таблицах, расположенных на рабочих местах,
в сетевую общедоступную папку кладётся текстовый файл, в котором данные записаны
строками с разделителем ";"
Заменяя данный в этом файле, при проверке и сравнении дат обновления двух одноимённых
файлов, программа советует закачать обновление (текстовый файл).
Скачивает его в свою директорию и обновляет данные на те, что в этом новом файле.
То есть меняет данные в соответствующих (одноимённых) таблицах.
Теперь встал вопрос о том как реализовать заброс в таблицы новой таблицы.
новых таблиц.То есть как то проверять, что в общедоступном файле ххх.mdb , что появилась
новая таблица её скачать и положить в файл таблиц на рабочем месте.
Программа поделена на файл интерфейса и файл таблиц.
Что и как начать реализацию задуманного?
------------------------------------------------------------------------
Спасибо за ответ.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136615
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58
текстовый файл
почему? почему не файл бд?

час58
Теперь встал вопрос о том как реализовать заброс в таблицы новой таблицы.
новых таблиц.То есть как то проверять, что в общедоступном файле ххх.mdb , что появилась
новая таблица её скачать и положить в файл таблиц на рабочем месте.
в смысле новой таблицы? Зачем её скачивать? Не проще ли прилинковать?
А так - сравнил список таблиц в целевой с источником, разницу добавил.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136617
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург, привет.
почему? почему не файл бд?
Потому, что файлы создают сторонние проги. Написанные не известно на каком языке.
Удобнее всего обмениваться общедоступным файлом.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136618
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,

Код: vbnet
1.
2.
в смысле новой таблицы? Зачем её скачивать? Не проще ли прилинковать?
А так - сравнил список таблиц в целевой с источником, разницу добавил.



Её скачивают из сети и кладут рядом с собой потому, что во первых сеть может оборваться, а работать надо.
А во вторых по сети очень медленно будет из за удалённости в километры.
Потому надо этот файл перебросить на локальный комп и закачать содержимое этого файла в таблицу базы программы(в локальную базу).
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136929
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А не проще было бы эти текстовые файлы грузить в базу Access отдельной программой. И занимался бы этим один человек. А потом качать эту базу на компьютер и там делать что требуется. Но уже с базой Access?
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136931
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58
Для того, чтобы обновить данные в таблицах, расположенных на рабочих местах....
Стесняюсь спросить:а о каких таблицах на рабочих местах идет речь
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136934
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,

НЕ стесняйся.
Всё в Access
На каждом рабочем месте имеются таблицы базы данных(xxx.mdb) и интерфейс(xxx1.mdb), связанный с этими таблицами.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136945
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss
А не проще было бы эти текстовые файлы грузить в базу Access отдельной программой. И занимался бы этим один человек. А потом качать эту базу на компьютер и там делать что требуется. Но уже с базой Access?

нет, не проще. Этому челу придётся проверять работают ли в программе, звонить просить закрыть программу., делать манипуляции.....
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136949
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,
а почему постоянно формируются именно новые таблицы? а не данные загружаются в одну постоянную таблицу?
ты новые таблицы на лету создаешь ?
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136961
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV,
Нет, не постоянно.
Но бывают случаи, когда меняются какие-то условия в работе фирмы и необходимо на всех раб местах изменить , добавить - таблицу.
Менять таблицу можно, загрузив в неё новые данные из текстового файла.
Этим занимаются операторы программы, проверяя обновления или им сообщают, что надо загрузить обновления.
А вот с добавлением новой таблицы вопрос пока не решён.
Это делается ручками.
Надо как-то автоматизировать процесс.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136963
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,
так у вас проблема, чтоб создать у всех на местах новую таблицу? и залить в нее данные ? - автоматом?
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136968
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV
час58,
так у вас проблема, чтоб создать у всех на местах новую таблицу? и залить в нее данные ? - автоматом?

Да. Иногда, нужно всем добавить новую таблицу.
Создать в офисе таблицу, сделать в ней всё как надо и отправить на места.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136969
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58
нет, не проще. Этому челу придётся проверять работают ли в программе, звонить просить закрыть программу., делать манипуляции.....
никуда звонить не нужно. имелось ввиду (мне так каатся), что человек собрал все эти текстовые файлы в бд, проверил на валидность и отправил "в сетевую общедоступную папку" вместо разнородных текстовиков. и далее 22439016
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136971
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,
вопрос откуда управлять ... отправляете пользователь файлик ... он кладет его рядом с базой ... далее если пользователь у себя нажмет на кнопку ... внутри создаться таблица новая и в этой же процедуре сделайте запрос на миграцию данных
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Sub CreateTableX1() 
     
        Dim dbs As Database 
     
        ' Modify this line to include the path to Northwind 
        ' on your computer. 
        Set dbs = OpenDatabase("Northwind.mdb") 
     
        ' Create a table with two text fields. 
        dbs.Execute "CREATE TABLE ThisTable " _ 
            & "(FirstName CHAR, LastName CHAR);" 
     
        dbs.Close 
     
    End Sub


тут еще чуток кода есть на вашу тему
http://blog.leadersoft.ru/2015/12/microsoft-access-vba.html
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136973
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,
и еще не понятно как потом пользователи работают с этой таблицей?
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136974
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV,
Код: vbnet
1.
2.
3.
        ' Create a table with two text fields. 
        dbs.Execute "CREATE TABLE ThisTable " _ 
            & "(FirstName CHAR, LastName CHAR);" 


а как эти строки окажутся в программе на местах?
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136975
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV,
её надо автоматом линкануть к файлу программы(к интерфейсу), после добавления в базу с таблицами.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136976
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
час58
нет, не проще. Этому челу придётся проверять работают ли в программе, звонить просить закрыть программу., делать манипуляции.....
никуда звонить не нужно. имелось ввиду (мне так каатся), что человек собрал все эти текстовые файлы в бд, проверил на валидность и отправил "в сетевую общедоступную папку" вместо разнородных текстовиков. и далее 22439016

Текстовики не кучей .
Если что то сегодня меняется, то этот файлик и обновляется. Другие обновляются по мере возникновения надобности.
А так , иной файлик и год может пролежать без изменений в нём.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136978
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58, внутри вашей программы создайте форму Миграция с процедурой, она будет создавать таблицу, имя ее вы будете знать, а далее подключаетесь к своему файлу и делаете запрос на добавление данных ...
У Гетца есть в 1-й части Access как Сервер автоматизации
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136983
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58, по сути еще какие то элементы программы должны понимать что есть новая таблица и как с ней работать ... что не так в вашей задаче ... видимо какая то форма создается или отчет или запрос как вы ей управляете это новой таблицей?
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136985
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV,
После того, как таблица будет добавлена в файл таблиц, можно будет разослать
Новую версию интерфейса , в котором уже будет описана работа с этой новой таблицей.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136986
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58, тогда в принципе то что выше указал можно сделать для пользователя доп интерфейс для миграции ...
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136991
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV,

Хочу сделать это всё в основном файле интерфейса.
Один раз.
Универсальный загрузчик новых таблиц в базу таблиц.
Новые таблицы будут автоматически копироваться из файла с одной или несколькими новыми таблицами, а новый файл интерфейса будет линьковать их к себе и работать с ними.
Всё автоматом.
Единственный вопрос. Это нормальное решение или есть более универсальное?
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136993
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,
я так понял у вас пользователи работают каждый со своими данными? те меняют значение в этой таблице и т.п.

у меня было такое но мне нужно было сделать обмен данными ... чтоб у всех была актуальная версия данных ... но я работал только с данными внутри таблицы ... по сути в интерфейсе в котором работали пользователи таблицы были пролинкованы ... у меня по сути были проверки где были добавлены новые записи ...

но это был случай когда не было сети ... они таскали на флэшках ... и актуализировали у руководителя к примеру ... а если есть сеть .. то лучше в любом случае единый файл данных с которым работают все одновременно ...
вы добавили таблицу в него и все ... то о чем писал Панург
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136994
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV,

Код: vbnet
1.
я так понял у вас пользователи работают каждый со своими данными? те меняют значение в этой таблице и т.п.


Да.
Пользователям сеть не нужна. То есть они не зависят от её скорости, обрыва и прочего. Зимой оч частые проблемы с сетью.
У них идёт индивидуальная работа.
Сеть нужна - только отправить накопленные новые данные в общий файл. И то это можно сделать флэшкой.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136995
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,

тогда сделайте загрузчик внутри интерфейса пользователя и все ... создал новую таблиц, выгрузил данные из файла, файл кладете рядом с базой пользователя или отдельную папку ... можно даже прилинковать таблицу ... какую либо для выгрузки ... чтоб не городить огород с сервером автоматизации ...
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136996
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV
час58,

тогда сделайте загрузчик внутри интерфейса пользователя и все ... создал новую таблиц, выгрузил данные из файла, файл кладете рядом с базой пользователя или отдельную папку ... можно даже прилинковать таблицу ... какую либо для выгрузки ... чтоб не городить огород с сервером автоматизации ...

Ну, да, как-то так.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40136999
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV,
Спасибки за ссылку на то, где описана работа с таблицами с помощью VBA
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137000
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,
и я Вас Благодарю
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137009
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58
Ну, да, как-то так.


а можно привести пример структуры нескольких таблиц (хотя бы по наименованиям столбцов и даже без типа полей)
- таблица N-1
- таблица N
- таблица N+1
то есть последняя из новых, предпоследняя и пред-предпоследняя...
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137026
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58
Пользователям сеть не нужна . То есть они не зависят от её скорости, обрыва и прочего. Зимой оч частые проблемы с сетью.
У них идёт индивидуальная работа.
Сеть нужна - только отправить накопленные новые данные в общий файл. И то это можно сделать флэшкой.
Вы уж определитесь....
В 21 веке переносить флешкой как-то не ICE-даже при малой скорости сети(а если её отладить. по хорошему,без "соплей" и возможности механического повреждения, смонтировать глядишь и глюки\обрывы пропадут и скорость будет высокая) есть репликация (синхронизация, связывание), разделение БД-штатные средства или SQL без "изобретения велосипеда", все быстрей(да, по-моему, вся ваша бизнес логика значительно улучшится и упростится), чем копировать на флешку, идти куда-то и скидывать,особенно если умения юзверей близки к 0
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137027
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDV
. то о чем писал Панург
нет, я не писал что с ним работают одновременно все, я писал всего лишь о транспортной бд, т.е. из неё импортировали в локальную бд и всё.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137028
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58, забавно ещё будет с целостностью данных... импорт не самое сложное.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137043
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
час58
Ну, да, как-то так.


а можно привести пример структуры нескольких таблиц (хотя бы по наименованиям столбцов и даже без типа полей)
- таблица N-1
- таблица N
- таблица N+1
то есть последняя из новых, предпоследняя и пред-предпоследняя...

Все таблицы разные.
Есть три таблы, одинаковые по структуре.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137045
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
час58
Пользователям сеть не нужна . То есть они не зависят от её скорости, обрыва и прочего. Зимой оч частые проблемы с сетью.
У них идёт индивидуальная работа.
Сеть нужна - только отправить накопленные новые данные в общий файл. И то это можно сделать флэшкой.
Вы уж определитесь....
В 21 веке переносить флешкой как-то не ICE-даже при малой скорости сети(а если её отладить. по хорошему,без "соплей" и возможности механического повреждения, смонтировать глядишь и глюки\обрывы пропадут и скорость будет высокая) есть репликация (синхронизация, связывание), разделение БД-штатные средства или SQL без "изобретения велосипеда", все быстрей(да, по-моему, вся ваша бизнес логика значительно улучшится и упростится), чем копировать на флешку, идти куда-то и скидывать,особенно если умения юзверей близки к 0

Всё очень просто. Флэшка для непредвиденных ситуаций.
Ею не пользовались ни когда. Если только 1 раз за 6 лет.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137046
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
час58, забавно ещё будет с целостностью данных... импорт не самое сложное.

Всё работает 6 лет. Норм.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137047
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
JDV
. то о чем писал Панург
нет, я не писал что с ним работают одновременно все, я писал всего лишь о транспортной бд, т.е. из неё импортировали в локальную бд и всё.

Да.
Вот мне интересны кусочки кода для перемещения таблицы из транспортной БД в БД с таблицами. И что бы сделать это из Файла с интерфейсом(формы, отчёты, модули)
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137086
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58

...Всё очень просто. Флэшка для непредвиденных ситуаций...
Из чего можно сделать вывод что сеть имеет место быть
sdku
..есть репликация (синхронизация, связывание ,на худой конец просто добавление данных в существующую таблицу), разделение БД-штатные средства или SQL без "изобретения велосипеда"...
Замена же таблицы в работающей БД есть не очень хорошая идея от слова совсем
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137100
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,

Код: vbnet
1.
Замена же таблицы в работающей БД есть не очень хорошая идея от слова совсем


Если есть необходимость внести изменение в базу данных, добавив в неё таблицу,
которая ранее не нужна была, но обстоятельства изменились...
Почему не добавить?
ДОПУСТИМ ПОНАДОБИЛСЯ НОВЫЙ СПРАВОЧНИК.
Как это не оч хорошо?
6 Лет назад ни кто и представить себе не мог, что он понадобится. :-)))
Да и мало ли ещё что придётся модернизировать.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137115
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому что справочник это справочник и его добавление вполне допустимо-это не меняет кардинально БД.Замена же таблицы в которой хранятся данные, которая имеет связи с другими таблицами(не справочниками) и служит источником данных для других объектов предполагает, как минимум, восстановление связей.Именно об этом и толковал уважаемый панург говоря о целостности данных-если Вас не волнует эта "мелочь" то работа в течении 6 лет (как будто 6 лет назад её не могли "криво" спроектировать) это весомый аргумент-ВПЕРЕД!!!
Уж не состоит ли Ваша "база данных" из ОДНОЙ таблицы с несколькими справочниками?
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137116
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,
Речь о добавлении справочников и всё.
Почему ты решил, что речь о замене таблиц?
Не понятно.
Я ж не настолько туп, да и зачем это делать в работающей базе данных???
почему ты упорно пишешь о какой то замене таблицы?
не понятно.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137134
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я "упорно твержу" только об одном-человек(назовем его ADMIN, имеющий доступ к табличной части БД) вносит изменения в справочники(или создает новые короче работает с копией табличной части сколько хочет и после этого заменяет файл),а находящиеся в данный момент в сети пользователи закрывают\открываают файл БД-вся процедура занимает 1-2 минуты
Или у Вас справочники обновляются каждые 5 минут
По любому-почему не повернуться к SQL лицом и навсегда избавиться от подобных "проблем"
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137137
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
Я "упорно твержу" только об одном-человек(назовем его ADMIN, имеющий доступ к табличной части БД) вносит изменения в справочники(или создает новые короче работает с копией табличной части сколько хочет и после этого заменяет файл),а находящиеся в данный момент в сети пользователи закрывают\открываают файл БД-вся процедура занимает 1-2 минуты
Или у Вас справочники обновляются каждые 5 минут
По любому-почему не повернуться к SQL лицом и навсегда избавиться от подобных "проблем"

Ну и?
И шо?
Ну нет админа у них, а я сижу дома за десятки километров и я к их сети не допускаюся.
А добавить новый справочник надо в кажную базу на рабочих местах.
Почему я не могу придумать выход из положения для моего случая?
Почему ты пишешь об абстрактных ситуациях, а не о моей?
:-)))
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137138
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,
Я хочу сделать универсальный загрузчик для добавления изменений в базы рабочих мест.
А конкретно - добавление новой таблицы, если возникнет такая необходимость.
Почему ты пишешь кучу слов и всё не про то, что мне нужно для реализации задуманного?
Я тебя ваще не узнаю.
Может, конечно твой аккаунт вскрыли...
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137150
Eugene-LS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
час58
Я хочу сделать универсальный загрузчик для добавления изменений в базы рабочих мест.

Есть готовое - может и вам сгодится
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137163
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene-LS, спасибки.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137166
Eugene-LS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
час58
Eugene-LS, спасибки.

Пожалуйста!
Документация в комплекте - если с чем не разберётесь - обращайтесь!
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137167
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene-LS,

но мне нужна интеграция в мою программу.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137168
Eugene-LS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
час58
но мне нужна интеграция в мою программу.

такого у меня нет.
А разве не проще просто версию на клиентах менять?
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137169
Eugene-LS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
час58
но мне нужна интеграция в мою программу.

Или у вас всё "в одном флаконе" (Интерфейс и Данные)?
Тогда могу только посочувствовать ...
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137170
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene-LS
час58
но мне нужна интеграция в мою программу.

такого у меня нет.
А разве не проще просто версию на клиентах менять?

можно и версию менять, но у каждого раб места свои настройки , записанные в таблицах.
Так что не вариант.
А добавка таблицы - это минутное или меньше дело.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137171
Eugene-LS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
час58
но у каждого раб места свои настройки , записанные в таблицах.

Ясно - я в INI файлах храню локальные настройки клиента ...
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137172
Eugene-LS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
час58
А добавка таблицы - это минутное или меньше дело.

... Да! согласен! - .... если клиентов не 350 штук в разных зданиях ... :)
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137174
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene-LS
час58
А добавка таблицы - это минутное или меньше дело.

... Да! согласен! - .... если клиентов не 350 штук в разных зданиях ... :)

Каждый на своём раб месте , в удобное время, нажимает кнопочку
ОБНОВИТЬ.
и ЧЕРЕЗ НЕСКОЛЬКО СЕКУНД ПОЛУЧАЕТ ОТВЕТ
готово.
мне только нужен был совет - это нормально или есть более простой способ.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137179
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene-LS
час58
но мне нужна интеграция в мою программу.

Или у вас всё "в одном флаконе" (Интерфейс и Данные)?
Тогда могу только посочувствовать ...

Нет, конечно. Зачем себя ставить в такое неудобное положение.?
Интерфейс отдельно, данные отдельно, настройки и справочники отдельно.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137287
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene-LS,

а КАК ПЕРЕНЕСТИ таблицу из одной базы в другую, находясь с кнопкой в руках в третьей базе?
Код: vbnet
1.
2.
DoCmd.CopyObject "ПутьБазыНазначения", _
"НовоеИмяТаблицы", acTable, "ИмяТаблицыИсточника"



Куда всунуть "ПутьБазыИсточник" ?
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137305
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Private Sub DOBAVKA_TABLICI_V_MDB(BAZA_NAME As String )
'Добавление таблицы в базу
Dim appAccess As New Access.Application
Dim obj As Object

   If FSO.FileExists(CurrentProject.Path & "\ZAGRUZKI\" & BAZA_NAME) = False Then
   MsgBox " файл " & BAZA_NAME & " не найден"
   Exit Sub
   End If

appAccess.OpenCurrentDatabase (CurrentProject.Path & "\ZAGRUZKI\" & BAZA_NAME)
   
    For Each obj In appAccess.CurrentProject.AllForms
    DoCmd.TransferDatabase acExport, "Microsoft Access", CurrentProject.Path & "\COMPONENTS\TABLICI\" & "OPTION_TBL.mdb", acTable, obj.Name, obj.Name
    Next obj
appAccess.CloseCurrentDatabase
Set appAccess = Nothing

End Sub


Подскажите. что не так с кодом.
Он не видит ни одной таблицы в файле.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137308
Eugene-LS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
час58
Подскажите. что не так с кодом.

Тут:
In appAccess.CurrentProject. AllForms
...
Не торопитесь! :)
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137316
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene-LS
час58
Подскажите. что не так с кодом.

Тут:
In appAccess.CurrentProject. AllForms
...
Не торопитесь! :)

да.
Но и In appAccess.CurrentProject.AllTables
не прокатывет.
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137333
Eugene-LS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
час58
не прокатывет.

А если так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Private Sub PrintAllTablesInImmediate()
' Выводим в Immediate Window:
' Список всех таблиц кроме системных
Dim tdf As DAO.TableDef
Dim i%
Dim s As String
    s = String(65, "-") & vbCrLf
    For Each tdf In CurrentDb.TableDefs
        If (tdf.Attributes And dbSystemObject) = False Then
            i = i + 1
            s = s & Format(i, "000") & " - """ & tdf.Name & """" & vbCrLf
        End If
    Next
    s = s & String(65, "-") ' & vbCrLf
    Debug.Print s
    Debug.Print "Всего: " & i & " таблиц."
End Sub
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137349
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene-LS,
Да, спасибки.
попробую через TableDefs
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137429
JDV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58, сделаешь решение)) скинь ... интересно
...
Рейтинг: 0 / 0
Автоматизированное обновления программы
    #40137554
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот итог
Часть кода не моё изобретение, а позаимствовано из сети интернет.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
кусок переноса файла из сети, поближе к программе

        'Проверка доступности файла
        If FUN_PROVERKA_FILES_V_SETI(FOLDER_ZAGRUZKA & "\" & FILE_NAME) = False Then
            MESS "Сетевой файл не доступен. " & vbCrLf & FOLDER_ZAGRUZKA & "\" & FILE_NAME
            Exit Function
        End If
        STR_PATCH_FILE = FOLDER_ZAGRUZKA & "\" & FILE_NAME
    End If
    ' индикатор
    Form_ZAGRUZKA_VIGRUZKA_KASSIRA_FRM!ZAGRUZAEM_NADPIS.Visible = True

    MESS "Нажмите   ОК " & vbCrLf & "и дождитесь окончания загрузки " & vbCrLf & "Не нажимайте мышку во время загрузки."

' перенос файла из сетевой папки  в папку ZAGRUZKI
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Call FUN_DELETE_FILE_NAME(CurrentProject.Path & "\" & FILE_NAME)
    Call FUN_DELETE_FILE_NAME(CurrentProject.Path & "\ZAGRUZKI\" & FILE_NAME)
    FSO.CopyFile STR_PATCH_FILE, (CurrentProject.Path & "\ZAGRUZKI\" & FILE_NAME)

=============================================

Public Function FUN_PERENOS_TABLIC() As Boolean
' Перенос таблиц в базу из доп файла UPDATES.mdb
    Dim DB_2 As DAO.Database
    Dim tdf As DAO.TableDef

  On Error GoTo FUN_PERENOS_TABLIC_Error
'-----------------------------------------------------------------------------

FUN_PERENOS_TABLIC = False

            TEMP_PATCH_TO_BASE = CurrentProject.Path & "\ZAGRUZKI\UPDATES.mdb"
            Set DB_2 = OpenDatabase(TEMP_PATCH_TO_BASE)   

            For Each tdf In DB_2.TableDefs
                If Mid(tdf.Name, 1, 4) <> "Msys" Then   'если  не системная таблица тогда смотрим
                   FUN_PERENOS_TABLICI_V_MDB (tdf.Name)
                   'присоединим таблицу
                   Call FUN_LINK_TBL(CurrentProject.Path & "\COMPONENTS\TABLICI\OPTION_TBL.mdb", tdf.Name, tdf.Name)
                End If
            Next tdf
            DB_2.Close
            Set DB_2 = Nothing
            
FUN_PERENOS_TABLIC = True

'-----------------------------------------------------------------------------
   On Error GoTo 0
   Exit Function
FUN_PERENOS_TABLIC_Error:


 Call FUN_ZAPIS_V_TEXT_FILE(CurrentProject.Path & "\Ошибки программы.txt", "Функция: FUN_PERENOS_TABLIC в модуле: ZAGRUZKA_MOD" & vbTab & Nz(Err.Description))

End Function

==================================================

Public Function FUN_PERENOS_TABLICI_V_MDB(TABLE_NAME As String)
' Сам перенос таблицы
Dim appAccess As Access.Application
Dim OTKUDA$, KUDA$
    
  On Error GoTo FUN_PERENOS_TABLICI_V_MDB_Error
'-----------------------------------------------------------------------------

    OTKUDA = CurrentProject.Path & "\ZAGRUZKI\UPDATES.mdb"
    KUDA = CurrentProject.Path & "\COMPONENTS\TABLICI\OPTION_TBL.mdb"
    Set appAccess = CreateObject("Access.Application")
    With appAccess
        .OpenCurrentDatabase KUDA
        If TABLE_NAME_YES_NO(TABLE_NAME, KUDA) = True Then
        .DoCmd.DeleteObject acTable, TABLE_NAME
        End If
        .DoCmd.TransferDatabase acImport, "Microsoft Access", OTKUDA, acTable, TABLE_NAME, TABLE_NAME
    End With
   
    Set appAccess = Nothing

'-----------------------------------------------------------------------------
   On Error GoTo 0
   Exit Function
FUN_PERENOS_TABLICI_V_MDB_Error:

 Call FUN_ZAPIS_V_TEXT_FILE(CurrentProject.Path & "\Ошибки программы.txt", "Функция: FUN_PERENOS_TABLICI_V_MDB в модуле: ZAGRUZKA_MOD" & vbTab & Nz(Err.Description))

End Function

=======================================================

Public Function FUN_LINK_TBL(sBasePath As String, _
                srsTblName As String, _
                Optional newTblName As String = "", _
                Optional MakeHidden As Boolean = False) As Long
'es 30.06.2011
'Подключение указанной таблицы MDB файла
'--------------------------------------------------------------------
'Аргументы:
'   sBasePath     = Строка пути вида: "C:\Temp\MyDB.mdb"
'   srsTblName    = Исходное название таблицы в базе
'   newTblName    = Новое имя таблицы (по умолч. = srsTblName)
'   makeHidden    = Сделать скрытой (по умолч. = нет)
'При ошибке возвращает ее код
'--------------------------------------------------------------------
Dim db As DAO.Database
Dim tdf As DAO.TableDef
    
'Имя создаваемой таблицы
    If newTblName = "" Then newTblName = srsTblName
'Удаление старой (если есть)
On Error Resume Next
    Set db = CurrentDb
    db.TableDefs.Delete newTblName
    Err.Clear
'Создание и подключение
On Error GoTo ConnectToTableErr
    Set tdf = db.CreateTableDef(newTblName)
    tdf.Connect = ";DATABASE=" & sBasePath
    tdf.SourceTableName = srsTblName
    db.TableDefs.Append tdf
    db.TableDefs.Refresh
'Если указано что должна быть скрытая
'    If MakeHidden = True Then tdf.Attributes = dbHiddenObject

ConnectToTableBye:
    On Error Resume Next
    Set tdf = Nothing
    db.Close
    Set db = Nothing
    Exit Function

ConnectToTableErr:
    FUN_LINK_TBL = Err.Number
    'Debug.Print Err.Description
    Resume ConnectToTableBye
End Function
...
Рейтинг: 0 / 0
63 сообщений из 63, показаны все 3 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Автоматизированное обновления программы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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