Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3 4 5 6      [все]
 Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
Возникла необходимость полуавтоматизировать процесс замены файлов XXX.mdb
на удалённых компьютерах. А именно централизованная(из центрального офиса)
установка новых версий программы на удалённых компьютерах.
Программа на всех компах состоит из 3х файлов.
1 - Модули и формы.
2,3 - таблицы.
Соответственно необходима замена файла с формами и модулями(кодом).
---------------------------------------------------------------------------
Прошу советов, решений, соображений.

Примерная последовательность действий.
- Создаю на access программу, в которой хранятся все сетевые пути к файлам,
подлежащим замене.
- Проверяем доступен ли файл. То есть имеется ли связь с удалённым компом.
в связи с этим - вопрос:
Есть ли возможность разделить два варианта событий?
1 - сеть не доступна
2 - файла, по указанному пути нет

- По нажатию кнопки начать замену, берём первый путь из таблицы
смотрим наличие там файла XXX.ldb, если файл имеется, пытаемся его удалить.
Если удалить не удаётся, значит программа запущена.
Как разрулить такую ситуацию?
Как сообщить всем работникам, что надо выйти из программы.
Сейчас идёт обзвон по телефону. Сотрудники не все современные, так что вайбер
и ватсап - отпадают.
- удаление старого файла и копирование на его место нового.
------------------------------------------------------------------------
Спасибо за ответ.
26 янв 19, 10:26    [21794712]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 551
час58, просто скопируйте новые файлы, скопируйте туда пути из старых интерфейсных файлов и замените ярлык. удаление старых файлов рекомендовал бы после тестирования работы новых.
26 янв 19, 11:19    [21794719]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
aleks222
Member

Откуда:
Сообщений: 747
час58
Возникла необходимость полуавтоматизировать процесс замены файлов XXX.mdb
на удалённых компьютерах. А именно централизованная(из центрального офиса)
установка новых версий программы на удалённых компьютерах.
Программа на всех компах состоит из 3х файлов.
1 - Модули и формы.
2,3 - таблицы.
Соответственно необходима замена файла с формами и модулями(кодом).
---------------------------------------------------------------------------
Прошу советов, решений, соображений.

Примерная последовательность действий.
- Создаю на access программу, в которой хранятся все сетевые пути к файлам,
подлежащим замене.
- Проверяем доступен ли файл. То есть имеется ли связь с удалённым компом.
в связи с этим - вопрос:
Есть ли возможность разделить два варианта событий?
1 - сеть не доступна
2 - файла, по указанному пути нет

- По нажатию кнопки начать замену, берём первый путь из таблицы
смотрим наличие там файла XXX.ldb, если файл имеется, пытаемся его удалить.
Если удалить не удаётся, значит программа запущена.
Как разрулить такую ситуацию?
Как сообщить всем работникам, что надо выйти из программы.
Сейчас идёт обзвон по телефону. Сотрудники не все современные, так что вайбер
и ватсап - отпадают.
- удаление старого файла и копирование на его место нового.
------------------------------------------------------------------------
Спасибо за ответ.


"файл с формами и модулями"

Вариант 1 (лучший):
1. Тупо и незатейливо вешаешь средствами NTFS на "файл с формами и модулями" право доступа пользователям: ЧТЕНИЕ.
2. Тупо и незатейливо вешаешь средствами NTFS на "файл с формами и модулями" право доступа СЕБЕ: ПОЛНЫЙ.
3. В любой момент ТЫ могешь перезаписать файл, независимо от числа работающих пользователей. Они даже не заметят. Заодно файл лучше сохраняется.

Вариант 2 (это не всегда прокатывает...):
1. Тупо и незатейливо ПЕРЕИМЕНОВЫВАЕМ старый "файл с формами и модулями" XXX.ldb -> ZZZ.ldb. Все радостно продолжают работать.
2. Копируем новый "файл с формами и модулями" XXX.ldb. При следующем запуске - все начнут работать с новым.


"таблицы"
Тут печальнее. Заменить можно, но данные потеряем.
26 янв 19, 11:31    [21794721]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
aleks222,

Таблицы менять естественно не надо.
Их не трогаем. Дам данные.
26 янв 19, 11:49    [21794728]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
aleks222,
автор
3. В любой момент ТЫ могешь перезаписать файл, независимо от числа работающих пользователей. Они даже не заметят. Заодно файл лучше сохраняется.

Если пользователи работают в программе, как её можно "перезаписать".
Её удалить нельзя, она работает. Чего-то я не догоняю.
26 янв 19, 11:53    [21794730]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
alecko,
ни чего не понял из сказанного.
26 янв 19, 12:31    [21794745]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
vmag
Member

Откуда: MP
Сообщений: 3266
час58
alecko,
ни чего не понял из сказанного.


ну типа везде лежит Programma1.mdb и Ярлык на него Programma
ты закидываешь клиенту Programma2.mdb и исправленный ярлык Programma, с заменой старого, в котором ссылка уже на запуск Programma2.mdb
тебе пофиг - работает клиент сейчас или нет, в следующий раз он по ярлыку запустит Programma2.mdb
26 янв 19, 12:54    [21794756]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
vmag,

Такой вариант не прокатывает.
Там так настроены компы, что много пользователей и каждый заходит в своё рабочее пространство.
Ярлыки у всех свои...
короче наворочено.
необходимо просто подменить файл, но что бы в этот момент программа не была запущена в работу.
26 янв 19, 12:59    [21794757]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
vmag
Member

Откуда: MP
Сообщений: 3266
час58
Ярлыки у всех свои...


Ну дак всем и менять... вот программу ты всем хочешь менять, а ярлык за одно - это уже проблема?
26 янв 19, 13:03    [21794758]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
vmag
Member

Откуда: MP
Сообщений: 3266
час58,

а вообще тут уже несколько раз мусолили тему с загрузчиком, (тот же alecko) который при старте проверяет наличие новой версии и обновляет
26 янв 19, 13:07    [21794760]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
vmag
Member

Откуда: MP
Сообщений: 3266
час58,

Да и не бизнесмен ты... установи тариф обновления одной точки - 3-5 т.р. и поехал бадло собирать, хоть каждую неделю... Картинка с другого сайта.
26 янв 19, 13:10    [21794762]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
vmag,
Я не хочу доверять кассирам(пользователи программы)
обновлять программу.
они умудряются на ровном месте устраивать "чёрную дыру".
------------------------------------------------------------------------
Сейчас этим занимается понимающая в этом деле девушка из центрального офиса.
Звонит кассиру - говорит закрой программу и подсовывает ей новую версию, вместо старого файла, кладёт такой же новый. Затем звонит и сообщает, что можно работать дальше.
-------------------------------------
И так 14 раз... 14 рабочих точек пока ... но их количество может возрасти....

Потому хочется этот процесс немного автоматизировать.
26 янв 19, 13:29    [21794771]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
vmag
Member

Откуда: MP
Сообщений: 3266
час58
Я не хочу доверять кассирам(пользователи программы)
обновлять программу.
они умудряются на ровном месте устраивать "чёрную дыру".


Такое ощущение, что ты пользуешься переводчиком с русского на еще какой-то, а потом обратно...
Кто тут хоть слово сказал, что это должны делать кассиры?
Кассиры только запускают один и тот же ярлык, который ты или твоя обученная девушка будут менять вместе с добавлением новой программы и звонить уже никому не нужно
26 янв 19, 13:51    [21794779]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
vmag,

Точно.
моя твоя ни понимая.
Там так настроены компы, что много пользователей и каждый заходит в своё рабочее пространство. Всё настроено на уровне винды. Каждый пользователь имеет свой рабочий стол, свой ярлык на программу.
-------------------------------------------
С ярлыками геморой, даже находясь на месте надо всем всё перенастраивать, если сменилось название программы.
--------------------------------------------

необходимо просто подменить файл, но что бы в этот момент программа не была запущена в работу.

Я набросал алгоритм. Его нужно уточнить и подправить. Ярлыки менять - не вариант.
26 янв 19, 13:56    [21794781]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
vmag
Member

Откуда: MP
Сообщений: 3266
час58
Там так настроены компы, что много пользователей и каждый заходит в своё рабочее пространство. Всё настроено на уровне винды. Каждый пользователь имеет свой рабочий стол, свой ярлык на программу.


Вот пусть этот свой ярлык запускает скрипт vbs, а скрипт пусть запускает программу, кладешь новую программу и тут же заменяешь скрипт, ярлыки не трогаешь
26 янв 19, 14:06    [21794784]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 551
час58, предполагалось что поскольку баз с данными несколько - то одна из них находится локально и пути к ней разные для каждой базы, как понял из дальнейшего обсуждения это не так, и например интерфейс у всех одинаков - это упрощает задачу в разы.
по поводу узнать открыта ли бд Joss писал статью не про это, но
принцип можно использовать- в случае открытия в монопольном режиме если база открыта - выдает ошибку.
26 янв 19, 14:28    [21794791]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
alecko,
Спасибо.
Это решает один из вопросов.
Второй вопрос - как оповещать пользователей выйти из программы.
Давным давно, по моему на HIPRIGe, по моему у Lucasa
аська в access - или что то в этом роде..
Там, у пользователя всплывало сообщение - типа "кончай работать",
А затем его принудительно вырубали.
Не помню нюансов и не знаю как найти, но ищу.
-----------------------------------------------------------
Вот этот вопрос хотелось бы обсудить.
26 янв 19, 18:03    [21794875]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
час58,

http://am.rusimport.ru/MsAccess/topic.aspx?ID=330
26 янв 19, 18:43    [21794890]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4908
Может это пригодится Контроль и автоматическое обновление клиентских приложений
26 янв 19, 20:48    [21794951]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
Joss,

Спасибо.
Может быть.
26 янв 19, 22:03    [21794990]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
час58,

Вопрос.
А гонять по сети файл программы в 10 Мб
Это нормально? не напряжно?
1 фев 19, 18:59    [21800067]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
vmag
Member

Откуда: MP
Сообщений: 3266
час58
Вопрос.
А гонять по сети файл программы в 10 Мб
Это нормально? не напряжно?


Если непрерывно и бесконечно да в несколько потоков, то напряжно...
:)
1 фев 19, 21:55    [21800188]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
vmag, понятно. :-)
2 фев 19, 11:57    [21800352]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
час58,

Подскажите.
Правильно ли я проверяю файл на дату модификации?
Почему-то все файлы в сети показали дату вчерашнюю.
Хотя файлы эти положены в Январе.
    Set FSO = New Scripting.FileSystemObject
    Set FSO = CreateObject("Scripting.FileSystemObject")
            Set FSO_File = FSO.GetFile(PATCH_FILE)
            FUN_VERSIYA = FSO_File.DateLastModified
7 фев 19, 13:54    [21803484]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
aleks222
Member

Откуда:
Сообщений: 747
час58
aleks222,
автор
3. В любой момент ТЫ могешь перезаписать файл, независимо от числа работающих пользователей. Они даже не заметят. Заодно файл лучше сохраняется.

Если пользователи работают в программе, как её можно "перезаписать".
Её удалить нельзя, она работает. Чего-то я не догоняю.


Ты не думай. Это не твое.

Ты делай, как сказано, и будет тебе щастье. Я проверял.
7 фев 19, 18:11    [21803770]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
aleks222,
спасибо, но
не думай - это не для меня.
7 фев 19, 18:50    [21803795]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
vmag
Member

Откуда: MP
Сообщений: 3266
час58
Правильно ли я проверяю файл на дату модификации?
Почему-то все файлы в сети показали дату вчерашнюю.
Хотя файлы эти положены в Январе.


Не важно когда положил (это по идее будет дата создания и то в том случае если прям вот тут создал)
Ты же проверяешь дату Изменения программы?
У mdb, mde,.... по идее так: запустил,- значит уже изменил, даже если просто открыл закрыл и это можно наблюдать в свойствах файла в самой винде (дата изменения), это вам не исполняемый exe файл
7 фев 19, 21:04    [21803866]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
vmag,

И каков же выход?
Вручную жёстко в коде писать дату типа "08.02.2019" и бросать её в таблицу.
И использовать при необходимости как версию данного файла.
------------------------
Надо же как -то, что бы кодом решалось.
А то так и забыть не долго про изменение цифр версии.
В VB6 версия файла сама там генерировалась. Стоило задать начало.
В access - как решается эта вещь?
8 фев 19, 17:09    [21804676]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
vmag
Member

Откуда: MP
Сообщений: 3266
час58
И каков же выход?


Да уже писали тут про это...
В кратце:
- на общей шаре должна быть очередная версия и не важно в каком виде её признак (номер).
- на местах нужен "пускач" который при старте сравнивает номер локальной версии с номером на шаре, если
локальный номер меньше, переписывает с шары на локаль новую версию + её номер и запускает, если номера версий одинаковые, просто запускает локаль...
Готового варианта думаю никто не даст, много специфики, начиная с того у кого какая и в каком виде шара и
заканчивая прочей мелочью, в том числе организационные вопросы...
8 фев 19, 17:54    [21804723]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
vmag,
Спасибо, понятно.
Да.
- на местах нужен "пускач" который при старте сравнивает номер локальной версии с номером на шаре, если
локальный номер меньше, переписывает с шары на локаль новую версию + её номер и запускает, если номера версий одинаковые, просто запускает локаль...

Этот вариант понятен, как два пальца обасфальт.
не понятно только как пускач сравнивает версии - кто критерий для него?
Я критерий не могу придумать. Как отличать версии.....
8 фев 19, 18:39    [21804757]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
vmag
Member

Откуда: MP
Сообщений: 3266
час58,

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

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

можно еще одну форму в пускаче сделать, если версии не совпали, делать её видимой и запрашивать
подтверждение замены версии ХХХ на YYY
8 фев 19, 19:30    [21804814]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
vmag,
:-)
8 фев 19, 19:33    [21804817]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
xax_nv
Member

Откуда: Нижневартовск
Сообщений: 920
vmag, у меня давно таким образом устроена замена файла программы, правда, в локальной сети:
На сервере "лежит" актуальная версия программы и служебная программка mdx поl названием Start, на рабочих местах ярлык запускает не основную программу, а программку Start, которая проверяет соответствие версии основной программы на сервере и на рабочем месте. Если версии отличаются, на рабочее место копируется, с заменой существующей, версия с сервера и после этого программа запускается на рабочем месте. Если версия не изменилась, то просто запускается программа.
Версия программы "зашита" в свойства Базы данных, т.е. Вашей программы, таким образом (см. рис):

Несколько лет назад я уже описывал эту технологию. Единственное неудобство, что версию приходится менять вручную, но это не самое страшное, зато никаких звонков и уговоров выйти из программы.

К сообщению приложен файл. Размер - 103Kb
9 фев 19, 10:32    [21805100]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
xax_nv
Member

Откуда: Нижневартовск
Сообщений: 920
Честно признаюсь, что саму идею и, частично, пути реализации позаимствовал у умных людей, что-то здесь на форуме, а что-то на других, но сейчас точно не помню где. Дурацкая привычка не делать пометок, что откуда взял.
9 фев 19, 11:00    [21805110]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 1789
xax_nv
vmag, у меня давно таким образом устроена замена файла программы, правда, в локальной сети:
На сервере "лежит" актуальная версия программы и служебная программка mdx поl названием Start, на рабочих местах ярлык запускает не основную программу, а программку Start, которая проверяет соответствие версии основной программы на сервере и на рабочем месте. Если версии отличаются, на рабочее место копируется, с заменой существующей, версия с сервера и после этого программа запускается на рабочем месте. Если версия не изменилась, то просто запускается программа.
Версия программы "зашита" в свойства Базы данных, т.е. Вашей программы, таким образом (см. рис):

Несколько лет назад я уже описывал эту технологию. Единственное неудобство, что версию приходится менять вручную, но это не самое страшное, зато никаких звонков и уговоров выйти из программы. Картинка с другого сайта.

Картинка с другого сайта.

а как программно прочитать ваше свойство?
9 фев 19, 12:39    [21805157]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
xax_nv
Member

Откуда: Нижневартовск
Сообщений: 920
Вот код модуля из Start.mbx:
Option Compare Database
Option Explicit

Private Const constrOriginMDB As String = "\\Server\XXX\XXX.mdb"
Private Const constrLocalMDB As String = "C:\XXX\XXX.mdb"

Private Const CSIDL_SysFolder = &H29

Public Function StartApplication()

Dim FSO As Object, SysFolderPatch As String
Dim oShell As Object, Str1
Set oShell = CreateObject("WScript.Shell")


Set FSO = CreateObject("Scripting.FileSystemObject")
'find if local folder exists'
If Len(constrOriginMDB) > 0 Then
    CheckLocalFolders constrLocalMDB
End If

On Error Resume Next

    
If Dir(constrLocalMDB, vbNormal) = "" Then 'if file does not exist'
    FileCopy constrOriginMDB, constrLocalMDB
Else
    If HasToBeRefreshed Then 'check if there is new version on the server'
        FileCopy constrOriginMDB, constrLocalMDB
    End If
End If
    
If Err.Number > 0 And Err.Number <> 70 Then
    Beep
    MsgBox Err.Number & vbCrLf & Err.Description
End If

On Error GoTo ErrorLabel

Call shell(SysCmd(acSysCmdAccessDir) & "MSACCESS.EXE " & constrLocalMDB, vbNormalFocus)

DoCmd.Quit

Exit Function

ErrorLabel:
    DoCmd.Hourglass False
    DoCmd.Maximize
    Beep
    MsgBox "Something wrong with Database," & vbCrLf & "Ask DB developer to fix it@" & vbCrLf & _
            Err.Number & "@" & Err.Description & "@", vbCritical
    Application.Quit
End Function

Private Function CheckLocalFolders(strFilePath)
Dim strCurrPath As String
Dim strCurrFolder As String
Dim intPos As Integer

If Left$(strFilePath, 3) <> "C:\" Then
    MsgBox "Wrong Path Argument in CheckLocalFolders Function", vbCritical
    Exit Function
End If

strCurrPath = "C:\"
intPos = 3

Do Until intPos = 0
    intPos = InStr(intPos + 1, strFilePath, "\")
    If intPos > 0 Then
        strCurrPath = Left$(strFilePath, intPos - 1)
        If Dir(strCurrPath, vbDirectory) = "" Then
            MkDir strCurrPath
        End If
    End If
Loop
End Function

Private Function HasToBeRefreshed() As Boolean
Dim wrk As Workspace
Dim dbs As Database, cnt As Container
Dim doc As Document
Dim lngVersionOnServer As String
Dim lngVersionOnC As String

Const conPropertyNotFound = 3270    ' Property not found error.

On Error GoTo SetCustom_Err
    Set wrk = DBEngine.Workspaces(0)
    Set dbs = wrk.OpenDatabase(constrLocalMDB)
    Set cnt = dbs.Containers!Databases
    Set doc = cnt.Documents!UserDefined
    
    lngVersionOnC = doc.Properties("DB Version")
    
    Set dbs = wrk.OpenDatabase(constrOriginMDB)
    Set cnt = dbs.Containers!Databases
    Set doc = cnt.Documents!UserDefined

    lngVersionOnServer = doc.Properties("DB Version")

    Set doc = Nothing
    Set cnt = Nothing
    Set dbs = Nothing
    Set wrk = Nothing

    HasToBeRefreshed = (lngVersionOnServer <> lngVersionOnC)

    Exit Function

SetCustom_Err:
    Beep
    If Err = conPropertyNotFound Then
        MsgBox "There is no information of the DB Version.", vbExclamation
    Else
        MsgBox Err.Number & vbCrLf & Err.Description
    End If

    HasToBeRefreshed = False
End Function
9 фев 19, 14:18    [21805203]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 1789
xax_nv,

Спасибо, я уже нашел, но и вашу методу потискаю.
С уважением.
9 фев 19, 14:29    [21805210]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
xax_nv,
Да, хороший вариант.
Ни как не найду как вывести на экран окно свойств xxx.mdb
9 фев 19, 14:43    [21805213]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
xax_nv
Member

Откуда: Нижневартовск
Сообщений: 920
час58
как вывести на экран окно свойств xxx.mdb


Файл - Свойства базы данных - Прочие.
Название: DB Version. Тип: Текст. Значение: любое Вам понравившееся.
9 фев 19, 14:50    [21805218]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
час58,

К сообщению приложен файл. Размер - 63Kb
9 фев 19, 14:51    [21805221]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
xax_nv
Member

Откуда: Нижневартовск
Сообщений: 920
Вы смотрите свойство файла, а нужно свойство базы данных.
9 фев 19, 14:54    [21805224]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
ROI, а ты что нашёл?
Покажи.
9 фев 19, 14:54    [21805225]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
xax_nv
Member

Откуда: Нижневартовск
Сообщений: 920
Забыл указать, что я юзаю 2003 Акс, в более старших версиях видимо так же.
9 фев 19, 14:55    [21805228]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
xax_nv,

Спасибо за пояснение.
Да, нашёл.

В новых версиях
Значок офиса в левом верхнем углу
Управление
Свойства базы данных
9 фев 19, 15:07    [21805234]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
xax_nv,

Это свойство базы - значение "ВЕРСИИ", можно считывать из самой программы?
Или считывать, когда программа запущена (находится в работе.)?
Не повредит ли это работающий файл.
Или можно считывать, только извне и не при работающей программе(файле)?
10 фев 19, 10:43    [21805570]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 1789
час58,
Как то вот так:
[/SRC]
Private Sub cmd_Text_Click()
Dim dbs As DAO.Database
Dim cnt As DAO.Container
Dim doc As DAO.Document
Dim prp As DAO.Property
Dim v As Variant

On Error GoTo HandleError

    Set dbs = CurrentDb
    Set cnt = dbs.Containers!Databases
    Set doc = cnt.Documents!UserDefined
    
    Me.ctr_Text = ""
    
    For Each prp In doc.Properties
    
        v = prp.Value
        Me.ctr_Text = Me.ctr_Text & vbCrLf & prp.Name & "=" & v
        
    Next

ExitProc:
    Set prp = Nothing
    Set dbs = Nothing
    Set cnt = Nothing
    Set doc = Nothing
    Exit Sub
    
HandleError:
    MsgBox vbCrLf & Err.Description & _
            vbCrLf & vbCrLf & "  &#200;&#236;&#255; &#238;&#225;&#250;&#229;&#234;&#242;&#224; = " & Me.Name & _
            vbCrLf & vbCrLf & "  &#200;&#236;&#255; &#239;&#240;&#238;&#246;&#229;&#228;&#243;&#240;&#251; = cmd_Text_Click", _
            vbCritical, "&#206;&#248;&#232;&#225;&#234;&#224; " & Err.Number
    Resume ExitProc
End Sub
[SRC VB]
10 фев 19, 11:38    [21805585]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
Я использовал код - xax_nv,
получается вот так...

Private Function FUN_VERSIYA(PATCH_K_RMK As String) As String
' ВЕРСИЯ

Dim wrk As Workspace
Dim dbs As Database, cnt As Container
Dim doc As Document
Dim lngVersionOnServer As String
Dim lngVersionOnC As String

   On Error GoTo FUN_VERSIYA_Error
'-----------------------------------------------------------------------------
FUN_VERSIYA = ""

    Set wrk = DBEngine.Workspaces(0)
    Set dbs = wrk.OpenDatabase(PATCH_K_RMK)
    Set cnt = dbs.Containers!Databases
    Set doc = cnt.Documents!UserDefined
    
    If Nz(doc.Properties("VERSII")) <> "" Then
       FUN_VERSIYA = Nz(doc.Properties("VERSII"))
    End If
    
    Set doc = Nothing
    Set cnt = Nothing
    Set dbs = Nothing
    Set wrk = Nothing
'-----------------------------------------------------------------------------
   On Error GoTo 0
   Exit Function
FUN_VERSIYA_Error:

 Call FUN_ZAPIS_V_TEXT_FILE(CurrentProject.Path & "\Ошибки программы.txt", "Не задана версия в файле " & vbTab & PATCH_K_RMK & vbTab & Nz(Err.Description))

End Function
10 фев 19, 12:34    [21805602]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 1789
час58,

В принципе одно и тоже.
10 фев 19, 12:57    [21805620]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
ROI, Да.
10 фев 19, 18:26    [21805770]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
Ещё раз спасибо xax_nv,

В итоге получилась вот такая функция получения значения из свойств базы данных, прописанных пользователем базы.
Public Function FUN_GLB_VERSION()
' версия
    On Error Resume Next
    GLB_VERSION = CurrentDb.Containers("Databases").Documents("UserDefined").Properties("VERSII").Value
End Function
16 фев 19, 18:12    [21811738]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
можно так же программно задать значение данного свойства.

CurrentDb.Containers("Databases").Documents("UserDefined").Properties("VERSII") = "11.02.2019"


А можно ли как-то программно занести данное Properties и его имя в свойства базы данных?
16 фев 19, 18:16    [21811743]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
xax_nv
Member

Откуда: Нижневартовск
Сообщений: 920
Можно.
Раньше, на других базах, я использовал следующее.
Был создан файл Version.mdb с одной единственной функцией. Это файл запускался на сервере по расписанию раз в неделю (ночью, когда ни кто не работает с базой) и через AutoExec запускалась функция Change_Version:

Private Const constrOriginMDB As String = "\\server\User\Soft\XXX.mdb"


Public Function Change_Version()
Dim wrk As Workspace
Dim dbs As DataBase, cnt As Container
Dim doc As Document

    Set wrk = DBEngine.Workspaces(0)
    Set dbs = wrk.OpenDatabase(constrOriginMDB)
    Set cnt = dbs.Containers!Databases
    Set doc = cnt.Documents!UserDefined


doc.Properties("DB Version") = Left(doc.Properties("DB Version"), _
Len(doc.Properties("DB Version")) - 1) & (Val(Right(doc.Properties("DB Version"), 1)) + 1)


    Set doc = Nothing
    Set cnt = Nothing
    Set dbs = Nothing
    Set wrk = Nothing

DoCmd.Quit
End Function

К существующему номеру версии добавлялась единичка.

Для чего это все делалось. Дело в том, и ни для кого это не секрет, что со временем база "разбухает", даже если в нее не добавлялись новые данные. А так как пользователи работали со своими файлами на локальных машинах, то раз в неделю эти файлы заменялись на "первозданные".
17 фев 19, 07:23    [21811955]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4362
xax_nv
ни для кого это не секрет, что со временем база "разбухает", даже если в нее не добавлялись новые данные
сжатие помогает
17 фев 19, 07:27    [21811957]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
xax_nv
Member

Откуда: Нижневартовск
Сообщений: 920
Панург
сжатие помогает

Я в курсе. Но не всегда это удобно, да и не понятно для пользователя. А еще, как показывает практика, при сжатии иногда возникают проблемы, которые тоже не всегда понятны пользователю.
17 фев 19, 07:58    [21811958]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4362
xax_nv,

— Позвольте спросить в целях повышения образованности - а что может быть непонятно пользователю если он не видит процесса?
17 фев 19, 08:18    [21811960]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
xax_nv
Member

Откуда: Нижневартовск
Сообщений: 920
Панург
xax_nv,

— Позвольте спросить в целях повышения образованности - а что может быть непонятно пользователю если он не видит процесса?

Задержка запуска программы. Вроде бы и запустил программу... Пробовал я этот вариант, не понравилось, ни мне не пользователям.
17 фев 19, 08:44    [21811963]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
Спасибо, xax_nv, но я похоже не верно сформулировал вопрос.
-----------------------------новая версия вопроса----------------------------------------------
 Можно ли это свойство программно создать в базе.
17 фев 19, 09:38    [21811974]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4362
xax_nv
Задержка запуска программы. Вроде бы и запустил программу... Пробовал я этот вариант, не понравилось, ни мне не пользователям.
Раз в неделю? Файл с замещением копируется быстрее?
17 фев 19, 17:08    [21812107]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4362
час58
Можно ли это свойство программно создать в базе.
А смысл? Скорее всего да.
17 фев 19, 17:09    [21812108]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
Панург,
Смысл есть.
Но только для меня.
Базы уже давно лежат на компах. Хочу в них понапихать данное свойство - одной кнопкой, доверив эту операцию надёжному товарисчу.
Таким образом убив на фиг двух зайцев в бухгалтерии.
17 фев 19, 17:38    [21812115]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4362
час58, так вручную делай в новых версиях, в старых то зачем? Раз нет свойства - значит старая версия.
17 фев 19, 18:42    [21812147]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
Панург,
....
Логично.
Они (эти файлы) там, на местах в компах, как лежали так и будут лежать.
Это файлы с таблицами. В файле с формами, запросами и отчётами - это понятное дело - новая версия и там уже это свойство встроено.
Но я хочу и в таблицы понапихать это свойство. и после модификации табличного файла указывать его версию. Что бы нажав кнопочку и пробежавшись по удалённым компам сразу было видно кто ещё не готов к работе в новых условиях. И сразу же исправить эту ситуёвину, нажав на кнопочку сделать "апГРЕТЬ".
17 фев 19, 18:52    [21812151]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4362
час58, ну если так хочется, то вот тебе код, всякие проверки создай сам
Dim db As DAO.Database
Dim prp As DAO.Property
Dim cnt As DAO.Container, doc As DAO.Document

Set db = CurrentDb()
Set cnt = db.Containers!Databases
Set doc = cnt.Documents!UserDefined
Set prp = db.CreateProperty("DB Version", dbText, "1", False)
doc.Properties.Append prp


Всё просто.
17 фев 19, 19:06    [21812158]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
Спасибо Панург
вон как оно...
.Append prp

Спасибо.
17 фев 19, 19:22    [21812168]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
час58,
Проверить данное свойство в другой базе можно функцией:
Private Function FUN_VERSIYA(PATCH_K_RMK As String) As String
' Проверка свойства версия
    Dim wrk As Workspace
    Dim dbs As Database, cnt As Container

    On Error GoTo FUN_VERSIYA_Error
    '-----------------------------------------------------------------------------
    FUN_VERSIYA = ""

    Set wrk = DBEngine.Workspaces(0)
    Set dbs = wrk.OpenDatabase(PATCH_K_RMK)

    FUN_VERSIYA = 
dbs.Containers("Databases").Documents("UserDefined").Properties("VERSII").Value

    Set dbs = Nothing
    Set wrk = Nothing
    '-----------------------------------------------------------------------------
    On Error GoTo 0
    Exit Function
FUN_VERSIYA_Error:

End Function
17 фев 19, 19:54    [21812183]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
Панург,

НА СТРОКУ
Set doc = cnt.Documents!UserDefined
ответ
Элемент не обнаружен в данном семействе.
как с этим жить?
17 фев 19, 20:14    [21812199]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
xax_nv
Member

Откуда: Нижневартовск
Сообщений: 920
У меня код Панурга прекрасно отрабатывает.
17 фев 19, 20:23    [21812205]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
xax_nv, везёт вам. Пруха...
вот что я горожу сейчас.
Public Function FUN_CREATE_VERSIYA(PATCH_K_RMK As String) As String

    Dim prp As DAO.Property
    Dim cnt As DAO.Container, doc As DAO.Document
    Dim wrk As Workspace
    Dim dbs As Database
    Dim GLB_VERSION  As String

    On Error GoTo FUN_VERSIYA_Error
    '-----------------------------------------------------------------------------
 
    GLB_VERSION = CurrentDb.Containers("Databases").Documents("UserDefined").Properties("VERSII").Value
    
    Set wrk = DBEngine.Workspaces(0)
    Set dbs = wrk.OpenDatabase(PATCH_K_RMK)

    Set cnt = dbs.Containers!Databases
    Set doc = cnt.Documents!UserDefined
    Set prp = dbs.CreateProperty("VERSII", dbDate, GLB_VERSION, False)
    doc.Properties.Append prp

    Set cnt = Nothing
    Set doc = Nothing
    Set prp = Nothing
    Set dbs = Nothing
    Set wrk = Nothing
    '-----------------------------------------------------------------------------
    On Error GoTo 0
    Exit Function
FUN_VERSIYA_Error:

End Function
17 фев 19, 20:27    [21812210]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
xax_nv
Member

Откуда: Нижневартовск
Сообщений: 920
Так работает? Вы запускаете эту функцию в той базе, где хотите добавить свойство или в другой?
17 фев 19, 20:39    [21812216]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
xax_nv,

В другой базе.

Public Function FUN_CREATE_VERSIYA(PATCH_K_RMK As String) As String

    Dim prp As Variant
    Dim cnt As Container
    Dim doc As Document
    Dim wrk As Workspace
    Dim dbs As Database

    On Error GoTo FUN_VERSIYA_Error
    '-----------------------------------------------------------------------------
 
    GLB_VERSION = CurrentDb.Containers("Databases").Documents("UserDefined").Properties("VERSII").Value
    
    Set wrk = DBEngine.Workspaces(0)
    Set dbs = wrk.OpenDatabase(PATCH_K_RMK)

    Set cnt = dbs.Containers!Databases

    Set doc = cnt.Documents!UserDefined  '  вот здесь вылетает.
	Элемент не обнаружен в данном семействе.

    Set prp = dbs.CreateProperty("VERSII", dbDate, GLB_VERSION, False)
    doc.Properties.Append prp

    Set cnt = Nothing
    Set doc = Nothing
    Set prp = Nothing
    Set dbs = Nothing
    Set wrk = Nothing
    '-----------------------------------------------------------------------------
    On Error GoTo 0
    Exit Function
FUN_VERSIYA_Error:

End Function
17 фев 19, 20:43    [21812222]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
xax_nv
Member

Откуда: Нижневартовск
Сообщений: 920
А Панург дал Вам код для текущей базы.
Достаточно было заменить
Set db = CurrentDb()

на
Set db= OpenDatabase(Имя базы с путем к ней)
17 фев 19, 20:48    [21812228]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
xax_nv,

Всё верно вы заметили.
Так я и сделал.
21812222
17 фев 19, 21:00    [21812231]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
xax_nv,

Нашёл подобный разговор в инете, так вот там говорят что это свойство нельзя программно создать в той базе, что сделана вручную.
Проблема заключается в том, что вы используете созданную базу данных для создания файла DB. Таким образом, создание файла MDB создает только объект документа MSysDB.

Чтобы создать базу данных, как вы пытаетесь сделать, и иметь возможность установить свойство в объекте document! userdefined, вы должны создать базу данных из приложения.
17 фев 19, 21:21    [21812243]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
xax_nv
Member

Откуда: Нижневартовск
Сообщений: 920
Вы не совсем правильно поняли, если я не ошибаюсь. Тут речь идет о том, что база созданная из самого Access'а, и созданная из существующей базы, т.е. открыли существующую базу и там выбрали пункт меню Создать... Это такая особенность Access'а. Если хотите создать новую базу, то запускаете Access т там уже выбираете Создать...
17 фев 19, 21:32    [21812247]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
xax_nv,
Хорошо.
Щас поспим до утра. А там будем разбираться со свежей головой.
17 фев 19, 21:34    [21812249]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
xax_nv
Member

Откуда: Нижневартовск
Сообщений: 920
час58
Щас поспим до утра.

Вот это ценная идея. Я тоже пошел спать. Я хоть и пенсионер, и даже по новому стилю, но завтра на работу, к тому же часовой пояс мск+2.
17 фев 19, 21:37    [21812253]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4908
Я когда-то тоже мудрил со свойствами БД. Но столкнулся с тем, что для проектов это не пошло. Были какие-то сложности. Кстати, где-то здесь на форуме лежат мои топики об этом.

Сейчас у меня в базе просто есть табличка tblRelrase в которую я заношу номер версии, дату изменения, краткое описание изменения. Я её всегда могу прочитать как из своей базы, так и из другой.
17 фев 19, 21:55    [21812263]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
Joss,

Да...
вот тоже уже подумываю о более простом и надёжном способе. Иметь таблицу.
17 фев 19, 22:12    [21812276]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
xax_nv,

Интересное дело...
Свойство наше в базе данных создаётся вот так:

    Set prp = dbs.CreateProperty("VERSII", dbDate, GLB_VERSION)
                    dbs.Properties.Append prp

без вот этой строки Set doc = cnt.Documents!UserDefined

об этом говорит повтор попытки создать это свойство. В ответ звучит:
такое свойство уже есть.

Можно уже менять значение свойства вот так:
     Set prp = dbs.Properties("VERSII")
     prp.Value = GLB_VERSION


но визуально, открыв свойства Б.Д. вручную этого свойства не видно.
Типа его нет.
18 фев 19, 10:58    [21812639]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
Итого, получается вот так:
' создание и добавление свойства   "VERSII"
    Set prp = dbs.CreateProperty("VERSII", dbDate, GLB_VERSION)
    dbs.Properties.Append prp
' присвоение значения свойству  "VERSII"
     prp.Value = GLB_VERSION
     Set prp = dbs.Properties("VERSII")
' чтение свойства"VERSII"
     Set prp = dbs.Properties("VERSII")
     MsgBox prp.Value

Всё работает.
Есть один минус. Посмотреть это свойство не программно - не удалось.
18 фев 19, 11:13    [21812668]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
AndrF
Member

Откуда:
Сообщений: 2094
Давно это было...

В общем, клиентов было много и программу у них периодически требовалось обновлять. Причем, зачастую оперативно - в рабочее время.

Решил тогда написанием простого загрузчика на VB6. Загрузчик считывал данные необходимых компонентов (Exe, Ocx, Ico и прочие) c INI-файла, хранящегося на сервере, если у клиента был файл более ранней версии, то файл его архива скачивался с сервера, распаковывался и при необходимости (в случае если это ActiveX Dll/OCX) регистрировался. Могли и необходимые записи в реестр вноситься, при необходимости. По окончании - запускался необходимый файл (exe или mdb).

Проблему решило на 100% - программа обновлялась у юзера при запуске (если была новая версия, конечно). Все компоненты тоже ставились автоматом. В общем, про потраченное на загрузчик время я не пожалел ни разу.
18 фев 19, 11:29    [21812705]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
AndrF, - хорошее решение. Автоматизация полная.
Включил комп и оно само всё забабахало.
Может када нибудь и я к этому приду. Но пока останавливает наличие пропадания входа в сеть.
Если у кого-то сбой сети, то этот товарисч нафигачит всё в старой версии, а остальные в новой.
И при сливании данных в общий котёл... этот котёл полетит в маю башку.
Так?
18 фев 19, 11:45    [21812733]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
Пока получилась вот такая функция.
Подскажите что-то можно улучшить. или вообще не так нужно делать?
Public Function FUN_CREATE_VERSIYA(PATCH_K_RMK As String, VERSIYA_VALUE As Date)
' создание свойства ВЕРСИЯ в файлах
    Dim prp As Variant
    Dim cnt As Container
    Dim wrk As Workspace
    Dim dbs As Database
    
    On Error GoTo FUN_VERSIYA_Error
    '-----------------------------------------------------------------------------
    Set wrk = DBEngine.Workspaces(0)
    Set dbs = wrk.OpenDatabase(PATCH_K_RMK)
    Set cnt = dbs.Containers!Databases

    On Error Resume Next
' создание и добавление свойства   "VERSII"
    Set prp = dbs.CreateProperty("VERSII", dbDate, VERSIYA_VALUE)
    dbs.Properties.Append prp
' если СВОЙСТВО УЖЕ ИМЕЕТСЯ
        If Err = 3367 Then
' присвоение значения свойству  "VERSII"
             Set prp = dbs.Properties("VERSII")
             prp.Value = Date
        End If

    Set cnt = Nothing
    Set prp = Nothing
    Set dbs = Nothing
    Set wrk = Nothing
    '-----------------------------------------------------------------------------
    On Error GoTo 0 'больше не хочу Resume Next
    Exit Function
FUN_VERSIYA_Error:

End Function
18 фев 19, 11:48    [21812735]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4362
час58,

Картинка с другого сайта. Начало процедуры мало вяжется с продолжением.

То что ты впихнул среди этих свойств это конечно хорошо(?), он это не пользовательские свойства. И просто так ты их не увидишь, это неудобно.
18 фев 19, 11:56    [21812749]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4362
час58, а во второй половине всё же логичней было бы попытаться заполнить свойство, а уж если его нет, то создать
18 фев 19, 12:00    [21812755]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
Панург, это почему же логичней сделать не так как я сделал?
:-))
------------------------------------------------------------------------
Всё равно, одинаково получается.
Сначала проверка попытки, а потом по результату проверки - действие.
Нет?
18 фев 19, 12:07    [21812761]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
AndrF
Member

Откуда:
Сообщений: 2094
час58
Может када нибудь и я к этому приду. Но пока останавливает наличие пропадания входа в сеть.
Если у кого-то сбой сети, то этот товарисч нафигачит всё в старой версии, а остальные в новой.
И при сливании данных в общий котёл... этот котёл полетит в маю башку.
Так?


Ну у меня все работали с SQL-сервером, так что сеть должна была быть по определению.

В течении дня разные пользователи одновременно могли работать с разными версиями программы (кто-то перезапускал программу, а кто-то нет), но, по крайней мере, за годы работы каких либо проблем из-за обновления не было вообще.
18 фев 19, 12:08    [21812765]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4362
час58, при твоём варианте, первый раз нет ошибки потом всё время работа через ошибку - непорядочек.
18 фев 19, 12:09    [21812769]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
Панург
час58,
Начало процедуры мало вяжется с продолжением.

Может начало ваще не нужно такое?
это не пользовательские свойства. И просто так ты их не увидишь, это неудобно.
да....
но выхода нету...
18 фев 19, 12:09    [21812770]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
AndrF,
Понятно.

У меня все работают автономно. И только при наличии сети сливают всё в одну базу. Или передают данные на флэшке, если сеть не появилась пару дней.
18 фев 19, 12:11    [21812774]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 1789
час58,

У меня вот такая конструкция работает:
    Set dbs = CurrentDb
    Set cnt = dbs.Containers("Databases")
    Set doc = cnt.Documents("UserDefined")
    Set prp = doc.CreateProperty("DB1", 10, "3.30.3")
    doc.Properties.Append prp

Вижу меняю визуально
Вижу меняю программно
18 фев 19, 12:12    [21812778]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
Панург,
ага. ты прав.
блин....
мне ни када не быть программером....
:-(
18 фев 19, 12:14    [21812782]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4362
час58, я тебе предлагал выход. Делать в новой версии вручную (дальше можешь уже и программно, документ пользовательских свойств добавлен), где версия отсутствует=устаревшая ->замена.

Опять же предлагался вариант с таблицей.
18 фев 19, 12:16    [21812787]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
ROI,
у меня на этой сстроке
Set doc = cnt.Documents("UserDefined")

вылетает с ошибкой
Элемент не обнаружен в данном семействе.
18 фев 19, 12:16    [21812789]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
Панург
час58, я тебе предлагал выход. Делать в новой версии вручную (дальше можешь уже и программно, документ пользовательских свойств добавлен), где версия отсутствует=устаревшая ->замена.

Опять же предлагался вариант с таблицей.

Да. всё так и было.
вариант с таблицей - на запасном пути.
Вручную не хочется лазить по сети и к тому же не исключена ошибка (фактор человека!)
18 фев 19, 12:18    [21812792]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4362
ROI
У меня вот такая конструкция работает:
При определённых условиях (не разбирался при каких, не было нужды), по моему, документ с пользовательскими свойствами отсутствует. И добавить программно его нельзя.
18 фев 19, 12:19    [21812793]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4362
час58
Вручную не хочется лазить по сети
Зачем вручную по сети? Пришли с обновлением. В конце концов можно (если тебя так это припёрло) рассылать пустую БД с проставленной версией, быстренько копировать (а это быстро через DoCmd) таблицы и связи в пустую БД. Далее программно обновлять версию. Всё.
Но проще в таком случае залудить таблицу для старых бд.
18 фев 19, 12:25    [21812802]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 1789
Панург,

Создал новую базу вставил код:
Пользовательское свойство создалось.
18 фев 19, 12:27    [21812807]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
Панург, функция - уже готова.
21812735
18 фев 19, 12:42    [21812832]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
ROI
Создал новую базу вставил код:
Пользовательское свойство создалось.

21812789
18 фев 19, 12:43    [21812834]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
Панург
ROI
У меня вот такая конструкция работает:
При определённых условиях (не разбирался при каких, не было нужды), по моему, документ с пользовательскими свойствами отсутствует. И добавить программно его нельзя.

Да. Походу так.
18 фев 19, 12:44    [21812839]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 1789
час58
Панург
пропущено...
При определённых условиях (не разбирался при каких, не было нужды), по моему, документ с пользовательскими свойствами отсутствует. И добавить программно его нельзя.

Да. Походу так.

Прицепил свой пример рабочий:

К сообщению приложен файл (AppInfo.zip - 27Kb) cкачать
18 фев 19, 13:01    [21812891]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
ROI,
Это какая версия access ?
--------------------------------
у меня в 2007. не открылась.
18 фев 19, 13:07    [21812904]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 1789
час58
ROI,
Это какая версия access ?
--------------------------------
у меня в 2007. не открылась.

2010 держи 2003

К сообщению приложен файл (AppInfo2003.zip - 24Kb) cкачать
18 фев 19, 13:23    [21812946]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
ROI,
Это работает, когда заранее вручную создано свойство.

К сообщению приложен файл (проба.rar - 13Kb) cкачать
18 фев 19, 14:24    [21813031]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 1789
час58
ROI,
Это работает, когда заранее вручную создано свойство.

Приложенный файл (проба.rar - 13Kb)

создай новую пустую базу перенеси форму запускай
ничего я руками не создавал
18 фев 19, 14:30    [21813043]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 1789
час58
ROI,
Это работает, когда заранее вручную создано свойство.

Приложенный файл (проба.rar - 13Kb)

Действительно.
Забавно.
Хм. и вообще склоняюсь хранить версионность в таблице (раз такие фишки)
18 фев 19, 14:40    [21813059]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
ROI, угу... :-(
стока кода кату пад хвост...
18 фев 19, 14:51    [21813077]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
AlexDE
Member

Откуда: Bayern, Germany
Сообщений: 236
тема обсосана сто раз, приблизительно прикидываешь когда наименьшее количество пользователей в сети, для верности и из чувства вежливости на таймер вешаешь сообшение. Типа закройте приложение, если не закроете, мы вас вырубим принудительно. Отрубаеш через пять минут всех клиентов, меняеш файл, и все работают дальше. Из практики, кто то не довольный всегда найдется, Иногда приходится жестко работать. Но такой путь оптимальный.
18 фев 19, 17:18    [21813441]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4362
час58
Это работает, когда заранее вручную создано свойство.
нет, не только
18 фев 19, 17:26    [21813456]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
AlexDE,
тема обсосана сто раз

Как грубо...
18 фев 19, 18:10    [21813533]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
Панург, ваш квест хрен пройдёшь...
18 фев 19, 18:11    [21813538]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4362
час58, вот только попробовал - создал новый файл через пкм и контекстное меню в целевой папке, открыл в Access, добавил модуль, добавил процедуру и... свойство добавляется. Оно вполне доступно через "Просмотр и изменение свойств базы данных"
18 фев 19, 19:19    [21813643]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
Панург, странно это
21813059
18 фев 19, 19:43    [21813662]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4908
Вот здесь я когда-то игрался с параметрами базы.
Не помню, чем это тогда закончилось. Но сейчас я пользуюсь таблицами в mdb и accdb.
19 фев 19, 10:08    [21813994]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
Joss
Вот здесь я когда-то игрался с параметрами базы.
Не помню, чем это тогда закончилось. Но сейчас я пользуюсь таблицами в mdb и accdb.

ПРАВИЛЬНОЕ РЕШЕНИЕ!
таблицы и понятнее и надёжнее. а с этими свойствами столько нюансов......
ну их на фиг.
19 фев 19, 10:48    [21814051]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
Joss
Вот здесь я когда-то игрался с параметрами базы.
Не помню, чем это тогда закончилось. Но сейчас я пользуюсь таблицами в mdb и accdb.

Да.
Я это читал. И давно читал. и перечитывал недавно..
Спасибо.
19 фев 19, 15:11    [21814392]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4362
час58
странно это
посмотрел что там и как. При программном создании файла бд (CreateDatabase), в том числе полученная через мастер разделения бд, в контейнере (Container) Databases есть только Document "MSysDb" и отсутствует контейнер "UserDefined". Соответственно в такую бд невозможно вставить пользовательское свойство. Требуется сначала вручную создать хоть какое-нибудь пользовательское свойство чтобы добавился нужный контейнер. Программно из VBA его создать невозможно.

Можно конечно попробовать вызвать программно окно свойств (DoCmd.RunCommand acCmdDatabaseProperties) и с помощью SendKeys вогнать значение. Если кому шибко нужно.
19 фев 19, 17:23    [21814605]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4362
опечатался
Панург
...отсутствует контейнер Document "UserDefined"...
19 фев 19, 17:26    [21814612]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4362
ещё одна правка...
Панург
...добавился нужный контейнер документ...
19 фев 19, 17:29    [21814618]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
Панург, да.
Это у них недоработка. Забыли доделать походу. Так же как и условное форматирование - сырая разработка не доведена до ума.
19 фев 19, 20:31    [21814846]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4362
час58
Это у них недоработка. Забыли доделать походу.
несогласен, скорее всего это оптимизация.

час58
Так же как и условное форматирование - сырая разработка не доведена до ума.
А тут то какие проблемы? Тем более в новых версиях.
20 фев 19, 04:03    [21815043]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
Панург,
Новые версии не знаю. Я на 2007 сижу :-(
--------------------------------------------------------
Ведро с краской и кисточка уже имеются в ленте. Имеются там и другие средства для создания "формата".
Для чего их впихивать в строки с заданными форматами?
Была бы просто ленточная форма с форматами для данного поля или группы полей.
Можно иметь преднабор форматов в этой форме. Только подставляй условие форматирования.
И добавление пользовательских форматов.
Поставил галочку - формат включен, убрал галочку формат выключен.
Удаление условия форматирования тоже сделано странно. Всё закрывается и перед нами три чекчикбокса... Я когда впервые с этим столкнулся - был озадачен. типа и что это за галочки? какая к чему?
Можно было просто отключать, как я описал выше. иначе при ошибочном удалении, приходится заново создавать строку формата.
Можно было иметь копируемый набор форматов из базы в базу. И использовать только нужные из списка заданных.
20 фев 19, 10:28    [21815169]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4362
час58
Новые версии не знаю. Я на 2007 сижу :-(
там древнее ещё форматирование, по моему неизменно с Access 2000.

час58
Ведро с краской и кисточка уже имеются в ленте. Имеются там и другие средства для создания "формата".
Нипонял, какие?

час58
Можно иметь преднабор форматов в этой форме. Только подставляй условие форматирования.
ну какбэ оно так и есть, подставляй условия и всё.

час58
Удаление условия форматирования тоже сделано странно. Всё закрывается и перед нами три чекчикбокса...
незнаю, окно с тремя чекбоксами открывается поверх окна с условиями. Как можно запутаться в трёх условиях? А в 2010 что будешь делать? Там условий больше чем три.

час58
Можно было иметь копируемый набор форматов из базы в базу. И использовать только нужные из списка заданных.
Они с контролами не копируются разве?

В общем надумано.
20 фев 19, 11:13    [21815210]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
час58
Member

Откуда: г. Энгельс.
Сообщений: 1636
Панург,
В общем надумано.

:-(
20 фев 19, 11:43    [21815245]     Ответить | Цитировать Сообщить модератору
 Re: Замена файла XXX.mdb на удалённых рабочих местах.  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 551
час58, прежде чем что-то критиковать надо сначала это изучить
+
Public Sub UslovnFormat()
Dim fcd As FormatCondition, str As String
str = Mid(fldKiosk.Name, 2)
With fldKiosk
     With .FormatConditions
        .Delete
            Set fcd = .Add(acFieldHasFocus)
                fcd.BackColor = HexToLongRGB("FFC20E")
                 fcd.FontBold = True
            Set fcd = .Add(acExpression, , str & "=" & KioskAnalize)
                fcd.BackColor = HexToLongRGB("6F3198")
                fcd.ForeColor = vbYellow
'                Debug.Print str & "=" & KioskAnalize
            Set fcd = .Add(acFieldValue, acEqual, "0")
'                 fcd.BackColor = vbBlack
                 fcd.ForeColor = HexToLongRGB("D8D8D8")
'                 fcd.FontBold = True
    End With
End With
End Sub
Function HexToLongRGB(sHexVal As String) As Long
    Dim lRed As Long
    Dim lGreen As Long
    Dim lBlue As Long

    lRed = CLng("&H" & Left$(sHexVal, 2))
    lGreen = CLng("&H" & Mid$(sHexVal, 3, 2))
    lBlue = CLng("&H" & Right$(sHexVal, 2))

    HexToLongRGB = RGB(lRed, lGreen, lBlue)

End Function

потому что для обычного юзера возможности визуального интерфейса достаточно, а кодер в ту сторону и не смотрит.
20 фев 19, 16:09    [21815553]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3 4 5 6      [все]
Все форумы / Microsoft Access Ответить