powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Замена файла XXX.mdb на удалённых рабочих местах.
25 сообщений из 126, страница 3 из 6
Замена файла 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
25 сообщений из 126, страница 3 из 6
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Замена файла XXX.mdb на удалённых рабочих местах.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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