powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Замена файла XXX.mdb на удалённых рабочих местах.
126 сообщений из 126, показаны все 6 страниц
Замена файла XXX.mdb на удалённых рабочих местах.
    #39765205
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возникла необходимость полуавтоматизировать процесс замены файлов XXX.mdb
на удалённых компьютерах. А именно централизованная(из центрального офиса)
установка новых версий программы на удалённых компьютерах.
Программа на всех компах состоит из 3х файлов.
1 - Модули и формы.
2,3 - таблицы.
Соответственно необходима замена файла с формами и модулями(кодом).
---------------------------------------------------------------------------
Прошу советов, решений, соображений.

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

- По нажатию кнопки начать замену, берём первый путь из таблицы
смотрим наличие там файла XXX.ldb, если файл имеется, пытаемся его удалить.
Если удалить не удаётся, значит программа запущена.
Как разрулить такую ситуацию?
Как сообщить всем работникам, что надо выйти из программы.
Сейчас идёт обзвон по телефону. Сотрудники не все современные, так что вайбер
и ватсап - отпадают.
- удаление старого файла и копирование на его место нового.
------------------------------------------------------------------------
Спасибо за ответ.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39765209
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58, просто скопируйте новые файлы, скопируйте туда пути из старых интерфейсных файлов и замените ярлык. удаление старых файлов рекомендовал бы после тестирования работы новых.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39765211
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час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. При следующем запуске - все начнут работать с новым.


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

Таблицы менять естественно не надо.
Их не трогаем. Дам данные.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39765216
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222,
автор3. В любой момент ТЫ могешь перезаписать файл, независимо от числа работающих пользователей. Они даже не заметят. Заодно файл лучше сохраняется.
Если пользователи работают в программе, как её можно "перезаписать".
Её удалить нельзя, она работает. Чего-то я не догоняю.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39765224
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alecko,
ни чего не понял из сказанного.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39765229
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58alecko,
ни чего не понял из сказанного.

ну типа везде лежит Programma1.mdb и Ярлык на него Programma
ты закидываешь клиенту Programma2.mdb и исправленный ярлык Programma, с заменой старого, в котором ссылка уже на запуск Programma2.mdb
тебе пофиг - работает клиент сейчас или нет, в следующий раз он по ярлыку запустит Programma2.mdb
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39765230
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag,

Такой вариант не прокатывает.
Там так настроены компы, что много пользователей и каждый заходит в своё рабочее пространство.
Ярлыки у всех свои...
короче наворочено.
необходимо просто подменить файл, но что бы в этот момент программа не была запущена в работу.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39765231
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58Ярлыки у всех свои...

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

а вообще тут уже несколько раз мусолили тему с загрузчиком, (тот же alecko ) который при старте проверяет наличие новой версии и обновляет
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39765235
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,

Да и не бизнесмен ты... установи тариф обновления одной точки - 3-5 т.р. и поехал бадло собирать, хоть каждую неделю...
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39765243
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag,
Я не хочу доверять кассирам(пользователи программы)
обновлять программу.
они умудряются на ровном месте устраивать "чёрную дыру".
------------------------------------------------------------------------
Сейчас этим занимается понимающая в этом деле девушка из центрального офиса.
Звонит кассиру - говорит закрой программу и подсовывает ей новую версию, вместо старого файла, кладёт такой же новый. Затем звонит и сообщает, что можно работать дальше.
-------------------------------------
И так 14 раз... 14 рабочих точек пока ... но их количество может возрасти....

Потому хочется этот процесс немного автоматизировать.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39765250
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58Я не хочу доверять кассирам(пользователи программы)
обновлять программу.
они умудряются на ровном месте устраивать "чёрную дыру".

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

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

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

Я набросал алгоритм. Его нужно уточнить и подправить. Ярлыки менять - не вариант.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39765255
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58Там так настроены компы, что много пользователей и каждый заходит в своё рабочее пространство. Всё настроено на уровне винды. Каждый пользователь имеет свой рабочий стол, свой ярлык на программу.

Вот пусть этот свой ярлык запускает скрипт vbs, а скрипт пусть запускает программу, кладешь новую программу и тут же заменяешь скрипт, ярлыки не трогаешь
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39765262
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58, предполагалось что поскольку баз с данными несколько - то одна из них находится локально и пути к ней разные для каждой базы, как понял из дальнейшего обсуждения это не так, и например интерфейс у всех одинаков - это упрощает задачу в разы.
по поводу узнать открыта ли бд Joss писал статью не про это, но
принцип можно использовать - в случае открытия в монопольном режиме если база открыта - выдает ошибку.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39765325
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alecko,
Спасибо.
Это решает один из вопросов.
Второй вопрос - как оповещать пользователей выйти из программы.
Давным давно, по моему на HIPRIGe, по моему у Lucasa
аська в access - или что то в этом роде..
Там, у пользователя всплывало сообщение - типа "кончай работать",
А затем его принудительно вырубали.
Не помню нюансов и не знаю как найти, но ищу.
-----------------------------------------------------------
Вот этот вопрос хотелось бы обсудить.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39765335
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39765369
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39765386
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss,

Спасибо.
Может быть.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39768453
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,

Вопрос.
А гонять по сети файл программы в 10 Мб
Это нормально? не напряжно?
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39768537
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58Вопрос.
А гонять по сети файл программы в 10 Мб
Это нормально? не напряжно?

Если непрерывно и бесконечно да в несколько потоков, то напряжно...
:)
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39768638
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag, понятно. :-)
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39770656
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,

Подскажите.
Правильно ли я проверяю файл на дату модификации?
Почему-то все файлы в сети показали дату вчерашнюю.
Хотя файлы эти положены в Январе.
Код: vbnet
1.
2.
3.
4.
    Set FSO = New Scripting.FileSystemObject
    Set FSO = CreateObject("Scripting.FileSystemObject")
            Set FSO_File = FSO.GetFile(PATCH_FILE)
            FUN_VERSIYA = FSO_File.DateLastModified
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39770791
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58aleks222,
автор3. В любой момент ТЫ могешь перезаписать файл, независимо от числа работающих пользователей. Они даже не заметят. Заодно файл лучше сохраняется.
Если пользователи работают в программе, как её можно "перезаписать".
Её удалить нельзя, она работает. Чего-то я не догоняю.

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

Ты делай, как сказано, и будет тебе щастье. Я проверял.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39770803
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222,
спасибо, но
не думай - это не для меня.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39770844
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58Правильно ли я проверяю файл на дату модификации?
Почему-то все файлы в сети показали дату вчерашнюю.
Хотя файлы эти положены в Январе.

Не важно когда положил (это по идее будет дата создания и то в том случае если прям вот тут создал)
Ты же проверяешь дату Изменения программы?
У mdb, mde,.... по идее так: запустил,- значит уже изменил, даже если просто открыл закрыл и это можно наблюдать в свойствах файла в самой винде (дата изменения), это вам не исполняемый exe файл
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39771282
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag,

И каков же выход?
Вручную жёстко в коде писать дату типа "08.02.2019" и бросать её в таблицу.
И использовать при необходимости как версию данного файла.
------------------------
Надо же как -то, что бы кодом решалось.
А то так и забыть не долго про изменение цифр версии.
В VB6 версия файла сама там генерировалась. Стоило задать начало.
В access - как решается эта вещь?
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39771303
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58И каков же выход?

Да уже писали тут про это...
В кратце:
- на общей шаре должна быть очередная версия и не важно в каком виде её признак (номер).
- на местах нужен "пускач" который при старте сравнивает номер локальной версии с номером на шаре, если
локальный номер меньше, переписывает с шары на локаль новую версию + её номер и запускает, если номера версий одинаковые, просто запускает локаль...
Готового варианта думаю никто не даст, много специфики, начиная с того у кого какая и в каком виде шара и
заканчивая прочей мелочью, в том числе организационные вопросы...
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39771319
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag,
Спасибо, понятно.
Да.
Код: vbnet
1.
2.
- на местах нужен "пускач" который при старте сравнивает номер локальной версии с номером на шаре, если
локальный номер меньше, переписывает с шары на локаль новую версию + её номер и запускает, если номера версий одинаковые, просто запускает локаль...


Этот вариант понятен, как два пальца обасфальт.
не понятно только как пускач сравнивает версии - кто критерий для него?
Я критерий не могу придумать. Как отличать версии.....
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39771356
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,

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

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

можно еще одну форму в пускаче сделать, если версии не совпали, делать её видимой и запрашивать
подтверждение замены версии ХХХ на YYY
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39771357
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag,
:-)
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39771495
Фотография xax_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag , у меня давно таким образом устроена замена файла программы, правда, в локальной сети:
На сервере "лежит" актуальная версия программы и служебная программка mdx поl названием Start, на рабочих местах ярлык запускает не основную программу, а программку Start, которая проверяет соответствие версии основной программы на сервере и на рабочем месте. Если версии отличаются, на рабочее место копируется, с заменой существующей, версия с сервера и после этого программа запускается на рабочем месте. Если версия не изменилась, то просто запускается программа.
Версия программы "зашита" в свойства Базы данных, т.е. Вашей программы, таким образом (см. рис):

Несколько лет назад я уже описывал эту технологию. Единственное неудобство, что версию приходится менять вручную, но это не самое страшное, зато никаких звонков и уговоров выйти из программы.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39771500
Фотография xax_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Честно признаюсь, что саму идею и, частично, пути реализации позаимствовал у умных людей, что-то здесь на форуме, а что-то на других, но сейчас точно не помню где. Дурацкая привычка не делать пометок, что откуда взял.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39771513
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xax_nv vmag , у меня давно таким образом устроена замена файла программы, правда, в локальной сети:
На сервере "лежит" актуальная версия программы и служебная программка mdx поl названием Start, на рабочих местах ярлык запускает не основную программу, а программку Start, которая проверяет соответствие версии основной программы на сервере и на рабочем месте. Если версии отличаются, на рабочее место копируется, с заменой существующей, версия с сервера и после этого программа запускается на рабочем месте. Если версия не изменилась, то просто запускается программа.
Версия программы "зашита" в свойства Базы данных, т.е. Вашей программы, таким образом (см. рис):

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



а как программно прочитать ваше свойство?
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39771538
Фотография xax_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот код модуля из Start.mbx:
Код: 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.
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
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39771543
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xax_nv,

Спасибо, я уже нашел, но и вашу методу потискаю.
С уважением.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39771546
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xax_nv,
Да, хороший вариант.
Ни как не найду как вывести на экран окно свойств xxx.mdb
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39771549
Фотография xax_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58 как вывести на экран окно свойств xxx.mdb

Файл - Свойства базы данных - Прочие.
Название: DB Version. Тип: Текст. Значение: любое Вам понравившееся.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39771551
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39771554
Фотография xax_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы смотрите свойство файла, а нужно свойство базы данных.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39771555
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI, а ты что нашёл?
Покажи.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39771558
Фотография xax_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл указать, что я юзаю 2003 Акс, в более старших версиях видимо так же.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39771563
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xax_nv,

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

В новых версиях
Код: vbnet
1.
2.
3.
Значок офиса в левом верхнем углу
Управление
Свойства базы данных
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39771761
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xax_nv,

Это свойство базы - значение "ВЕРСИИ", можно считывать из самой программы?
Или считывать, когда программа запущена (находится в работе.)?
Не повредит ли это работающий файл.
Или можно считывать, только извне и не при работающей программе(файле)?
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39771766
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час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.
[/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]
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39771775
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я использовал код - xax_nv,
получается вот так...

Код: 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.
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
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39771791
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,

В принципе одно и тоже.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39771891
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI, Да.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39774957
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё раз спасибо xax_nv,

В итоге получилась вот такая функция получения значения из свойств базы данных, прописанных пользователем базы.
Код: vbnet
1.
2.
3.
4.
5.
Public Function FUN_GLB_VERSION()
' версия
    On Error Resume Next
    GLB_VERSION = CurrentDb.Containers("Databases").Documents("UserDefined").Properties("VERSII").Value
End Function
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39774961
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно так же программно задать значение данного свойства.

Код: vbnet
1.
CurrentDb.Containers("Databases").Documents("UserDefined").Properties("VERSII") = "11.02.2019"



А можно ли как-то программно занести данное Properties и его имя в свойства базы данных?
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775060
Фотография xax_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно.
Раньше, на других базах, я использовал следующее.
Был создан файл Version.mdb с одной единственной функцией. Это файл запускался на сервере по расписанию раз в неделю (ночью, когда ни кто не работает с базой) и через AutoExec запускалась функция Change_Version:

Код: 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.
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


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

Для чего это все делалось. Дело в том, и ни для кого это не секрет, что со временем база "разбухает", даже если в нее не добавлялись новые данные. А так как пользователи работали со своими файлами на локальных машинах, то раз в неделю эти файлы заменялись на "первозданные".
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775061
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xax_nvни для кого это не секрет, что со временем база "разбухает", даже если в нее не добавлялись новые данные сжатие помогает
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775062
Фотография xax_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панургсжатие помогает
Я в курсе. Но не всегда это удобно, да и не понятно для пользователя. А еще, как показывает практика, при сжатии иногда возникают проблемы, которые тоже не всегда понятны пользователю.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775063
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xax_nv,

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

— Позвольте спросить в целях повышения образованности - а что может быть непонятно пользователю если он не видит процесса?
Задержка запуска программы. Вроде бы и запустил программу... Пробовал я этот вариант, не понравилось, ни мне не пользователям.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775072
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, xax_nv, но я похоже не верно сформулировал вопрос.
-----------------------------новая версия вопроса----------------------------------------------
Код: vbnet
1.
 Можно ли это свойство программно создать в базе.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775158
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xax_nvЗадержка запуска программы. Вроде бы и запустил программу... Пробовал я этот вариант, не понравилось, ни мне не пользователям.Раз в неделю? Файл с замещением копируется быстрее?
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775159
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58
Код: vbnet
1.
Можно ли это свойство программно создать в базе.

А смысл? Скорее всего да.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775163
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,
Смысл есть.
Но только для меня.
Базы уже давно лежат на компах. Хочу в них понапихать данное свойство - одной кнопкой, доверив эту операцию надёжному товарисчу.
Таким образом убив на фиг двух зайцев в бухгалтерии.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775180
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58, так вручную делай в новых версиях, в старых то зачем? Раз нет свойства - значит старая версия.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775182
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,
....
Логично.
Они (эти файлы) там, на местах в компах, как лежали так и будут лежать.
Это файлы с таблицами. В файле с формами, запросами и отчётами - это понятное дело - новая версия и там уже это свойство встроено.
Но я хочу и в таблицы понапихать это свойство. и после модификации табличного файла указывать его версию. Что бы нажав кнопочку и пробежавшись по удалённым компам сразу было видно кто ещё не готов к работе в новых условиях. И сразу же исправить эту ситуёвину, нажав на кнопочку сделать "апГРЕТЬ".
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775187
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58, ну если так хочется, то вот тебе код, всякие проверки создай сам
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
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



Всё просто.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775192
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо Панург
вон как оно...
Код: vbnet
1.
.Append prp


Спасибо.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775205
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час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.
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
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775215
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,

НА СТРОКУ
Set doc = cnt.Documents!UserDefined
ответ
Элемент не обнаружен в данном семействе.
как с этим жить?
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775219
Фотография xax_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня код Панурга прекрасно отрабатывает.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775221
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xax_nv, везёт вам. Пруха...
вот что я горожу сейчас.
Код: 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.
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
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775224
Фотография xax_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так работает? Вы запускаете эту функцию в той базе, где хотите добавить свойство или в другой?
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775226
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xax_nv,

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

Код: 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.
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
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775229
Фотография xax_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А Панург дал Вам код для текущей базы.
Достаточно было заменить
Код: vbnet
1.
Set db = CurrentDb()


на
Код: vbnet
1.
Set db= OpenDatabase(Имя базы с путем к ней)
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775232
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xax_nv,

Всё верно вы заметили.
Так я и сделал.
21812222
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775239
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xax_nv,

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

Чтобы создать базу данных, как вы пытаетесь сделать, и иметь возможность установить свойство в объекте document! userdefined, вы должны создать базу данных из приложения.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775241
Фотография xax_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы не совсем правильно поняли, если я не ошибаюсь. Тут речь идет о том, что база созданная из самого Access'а, и созданная из существующей базы, т.е. открыли существующую базу и там выбрали пункт меню Создать... Это такая особенность Access'а. Если хотите создать новую базу, то запускаете Access т там уже выбираете Создать...
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775243
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xax_nv,
Хорошо.
Щас поспим до утра. А там будем разбираться со свежей головой.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775244
Фотография xax_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58Щас поспим до утра.
Вот это ценная идея. Я тоже пошел спать. Я хоть и пенсионер, и даже по новому стилю, но завтра на работу, к тому же часовой пояс мск+2.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775248
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я когда-то тоже мудрил со свойствами БД. Но столкнулся с тем, что для проектов это не пошло. Были какие-то сложности. Кстати, где-то здесь на форуме лежат мои топики об этом.

Сейчас у меня в базе просто есть табличка tblRelrase в которую я заношу номер версии, дату изменения, краткое описание изменения. Я её всегда могу прочитать как из своей базы, так и из другой.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775254
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss,

Да...
вот тоже уже подумываю о более простом и надёжном способе. Иметь таблицу.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775390
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xax_nv,

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

Код: vbnet
1.
2.
    Set prp = dbs.CreateProperty("VERSII", dbDate, GLB_VERSION)
                    dbs.Properties.Append prp


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

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

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



но визуально, открыв свойства Б.Д. вручную этого свойства не видно.
Типа его нет.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775406
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Итого, получается вот так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
' создание и добавление свойства   "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


Всё работает.
Есть один минус. Посмотреть это свойство не программно - не удалось.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775421
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давно это было...

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

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

Проблему решило на 100% - программа обновлялась у юзера при запуске (если была новая версия, конечно). Все компоненты тоже ставились автоматом. В общем, про потраченное на загрузчик время я не пожалел ни разу.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775436
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrF, - хорошее решение. Автоматизация полная.
Включил комп и оно само всё забабахало.
Может када нибудь и я к этому приду. Но пока останавливает наличие пропадания входа в сеть.
Если у кого-то сбой сети, то этот товарисч нафигачит всё в старой версии, а остальные в новой.
И при сливании данных в общий котёл... этот котёл полетит в маю башку.
Так?
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775437
Фотография час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.
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
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775443
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58,

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

То что ты впихнул среди этих свойств это конечно хорошо(?), он это не пользовательские свойства. И просто так ты их не увидишь, это неудобно.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775445
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58, а во второй половине всё же логичней было бы попытаться заполнить свойство, а уж если его нет, то создать
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775448
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург, это почему же логичней сделать не так как я сделал?
:-))
------------------------------------------------------------------------
Всё равно, одинаково получается.
Сначала проверка попытки, а потом по результату проверки - действие.
Нет?
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775449
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58Может када нибудь и я к этому приду. Но пока останавливает наличие пропадания входа в сеть.
Если у кого-то сбой сети, то этот товарисч нафигачит всё в старой версии, а остальные в новой.
И при сливании данных в общий котёл... этот котёл полетит в маю башку.
Так?

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

В течении дня разные пользователи одновременно могли работать с разными версиями программы (кто-то перезапускал программу, а кто-то нет), но, по крайней мере, за годы работы каких либо проблем из-за обновления не было вообще.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775452
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58, при твоём варианте, первый раз нет ошибки потом всё время работа через ошибку - непорядочек.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775453
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панургчас58,
Начало процедуры мало вяжется с продолжением.
Может начало ваще не нужно такое?
это не пользовательские свойства. И просто так ты их не увидишь, это неудобно.
да....
но выхода нету...
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775456
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrF,
Понятно.

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

У меня вот такая конструкция работает:
Код: vbnet
1.
2.
3.
4.
5.
    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


Вижу меняю визуально
Вижу меняю программно
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775461
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,
ага. ты прав.
блин....
мне ни када не быть программером....
:-(
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775464
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58, я тебе предлагал выход. Делать в новой версии вручную (дальше можешь уже и программно, документ пользовательских свойств добавлен), где версия отсутствует=устаревшая ->замена.

Опять же предлагался вариант с таблицей.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775466
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI,
у меня на этой сстроке
Код: vbnet
1.
Set doc = cnt.Documents("UserDefined")


вылетает с ошибкой
Элемент не обнаружен в данном семействе.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775467
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панургчас58, я тебе предлагал выход. Делать в новой версии вручную (дальше можешь уже и программно, документ пользовательских свойств добавлен), где версия отсутствует=устаревшая ->замена.

Опять же предлагался вариант с таблицей.
Да. всё так и было.
вариант с таблицей - на запасном пути.
Вручную не хочется лазить по сети и к тому же не исключена ошибка (фактор человека!)
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775468
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROIУ меня вот такая конструкция работает:При определённых условиях (не разбирался при каких, не было нужды), по моему, документ с пользовательскими свойствами отсутствует. И добавить программно его нельзя.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775472
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58Вручную не хочется лазить по сетиЗачем вручную по сети? Пришли с обновлением. В конце концов можно (если тебя так это припёрло) рассылать пустую БД с проставленной версией, быстренько копировать (а это быстро через DoCmd ) таблицы и связи в пустую БД. Далее программно обновлять версию. Всё.
Но проще в таком случае залудить таблицу для старых бд.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775473
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,

Создал новую базу вставил код:
Пользовательское свойство создалось.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775481
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург, функция - уже готова.
21812735
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775482
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROIСоздал новую базу вставил код:
Пользовательское свойство создалось.
21812789
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775485
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПанургROIУ меня вот такая конструкция работает:При определённых условиях (не разбирался при каких, не было нужды), по моему, документ с пользовательскими свойствами отсутствует. И добавить программно его нельзя.
Да. Походу так.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775510
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58Панургпропущено...
При определённых условиях (не разбирался при каких, не было нужды), по моему, документ с пользовательскими свойствами отсутствует. И добавить программно его нельзя.
Да. Походу так.
Прицепил свой пример рабочий:
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775517
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI,
Это какая версия access ?
--------------------------------
у меня в 2007. не открылась.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775535
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58ROI,
Это какая версия access ?
--------------------------------
у меня в 2007. не открылась.
2010 держи 2003
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775574
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI,
Это работает, когда заранее вручную создано свойство.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775578
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58ROI,
Это работает, когда заранее вручную создано свойство.

https://www.sql.ru/forum/actualfile.aspx?id=21813031] Приложенный файл (проба.rar - 13Kb)
создай новую пустую базу перенеси форму запускай
ничего я руками не создавал
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775583
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58ROI,
Это работает, когда заранее вручную создано свойство.

https://www.sql.ru/forum/actualfile.aspx?id=21813031] Приложенный файл (проба.rar - 13Kb)
Действительно.
Забавно.
Хм. и вообще склоняюсь хранить версионность в таблице (раз такие фишки)
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775596
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI, угу... :-(
стока кода кату пад хвост...
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775768
AlexDE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тема обсосана сто раз, приблизительно прикидываешь когда наименьшее количество пользователей в сети, для верности и из чувства вежливости на таймер вешаешь сообшение. Типа закройте приложение, если не закроете, мы вас вырубим принудительно. Отрубаеш через пять минут всех клиентов, меняеш файл, и все работают дальше. Из практики, кто то не довольный всегда найдется, Иногда приходится жестко работать. Но такой путь оптимальный.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775781
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58Это работает, когда заранее вручную создано свойство.нет, не только
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775823
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexDE,
Код: vbnet
1.
тема обсосана сто раз


Как грубо...
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775825
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург, ваш квест хрен пройдёшь...
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775876
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58, вот только попробовал - создал новый файл через пкм и контекстное меню в целевой папке, открыл в Access, добавил модуль, добавил процедуру и... свойство добавляется. Оно вполне доступно через "Просмотр и изменение свойств базы данных"
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39775884
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург, странно это
21813059
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39776045
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот здесь я когда-то игрался с параметрами базы.
Не помню, чем это тогда закончилось. Но сейчас я пользуюсь таблицами в mdb и accdb .
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39776068
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JossВот здесь я когда-то игрался с параметрами базы.
Не помню, чем это тогда закончилось. Но сейчас я пользуюсь таблицами в mdb и accdb .
ПРАВИЛЬНОЕ РЕШЕНИЕ!
таблицы и понятнее и надёжнее. а с этими свойствами столько нюансов......
ну их на фиг.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39776211
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JossВот здесь я когда-то игрался с параметрами базы.
Не помню, чем это тогда закончилось. Но сейчас я пользуюсь таблицами в mdb и accdb .
Да.
Я это читал. И давно читал. и перечитывал недавно..
Спасибо.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39776334
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58странно этопосмотрел что там и как. При программном создании файла бд ( CreateDatabase ), в том числе полученная через мастер разделения бд, в контейнере ( Container ) Databases есть только Document "MSysDb" и отсутствует контейнер "UserDefined" . Соответственно в такую бд невозможно вставить пользовательское свойство. Требуется сначала вручную создать хоть какое-нибудь пользовательское свойство чтобы добавился нужный контейнер. Программно из VBA его создать невозможно.

Можно конечно попробовать вызвать программно окно свойств ( DoCmd.RunCommand acCmdDatabaseProperties ) и с помощью SendKeys вогнать значение. Если кому шибко нужно.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39776339
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
опечатался
Панург...отсутствует контейнер Document "UserDefined" ...
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39776343
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ещё одна правка...
Панург...добавился нужный контейнер документ...
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39776442
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург, да.
Это у них недоработка. Забыли доделать походу. Так же как и условное форматирование - сырая разработка не доведена до ума.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39776529
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58Это у них недоработка. Забыли доделать походу.несогласен, скорее всего это оптимизация.

час58Так же как и условное форматирование - сырая разработка не доведена до ума.А тут то какие проблемы? Тем более в новых версиях.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39776601
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,
Новые версии не знаю. Я на 2007 сижу :-(
--------------------------------------------------------
Ведро с краской и кисточка уже имеются в ленте. Имеются там и другие средства для создания "формата".
Для чего их впихивать в строки с заданными форматами?
Была бы просто ленточная форма с форматами для данного поля или группы полей.
Можно иметь преднабор форматов в этой форме. Только подставляй условие форматирования.
И добавление пользовательских форматов.
Поставил галочку - формат включен, убрал галочку формат выключен.
Удаление условия форматирования тоже сделано странно. Всё закрывается и перед нами три чекчикбокса... Я когда впервые с этим столкнулся - был озадачен. типа и что это за галочки? какая к чему?
Можно было просто отключать, как я описал выше. иначе при ошибочном удалении, приходится заново создавать строку формата.
Можно было иметь копируемый набор форматов из базы в базу. И использовать только нужные из списка заданных.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39776626
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час58Новые версии не знаю. Я на 2007 сижу :-(там древнее ещё форматирование, по моему неизменно с Access 2000.

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

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

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

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

В общем надумано.
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39776648
Фотография час58
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,
Код: vbnet
1.
В общем надумано.


:-(
...
Рейтинг: 0 / 0
Замена файла XXX.mdb на удалённых рабочих местах.
    #39776818
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
час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.
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


потому что для обычного юзера возможности визуального интерфейса достаточно, а кодер в ту сторону и не смотрит.
...
Рейтинг: 0 / 0
126 сообщений из 126, показаны все 6 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Замена файла XXX.mdb на удалённых рабочих местах.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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