Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> замена текущего файла проекта на новый 
:(
    Опции темы
basdv
Дата 4.10.2015, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 10.11.2006
Где: СПб

Репутация: нет
Всего: нет



Добрый вечер, Уважаемые форумчани!
Давно не обращался за помощью. Не судите строго, я любитель и иногда путаюсь с терминологией программирования.

Имеется проект adp. В нем имеется глобальная переменная - версия программы. После запуска функции из модуля, переменной присваивается значение 1.658(номер версии программы). Далее программа обращается к SQL таблица с версиями программ, за определением последней(актуальной) версиии программы и сравнивает с текущей версией, а далее нужно написать программу: если необходимо обновление обновляет текущую программу-копирует новый файл рядом и удаляет старый. 

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

Можно ли это делать программно при проверке версии внутри текущего проекта?

Фрагмент кода определения текущей версии проекта:
Код

Public Function KeyInBDControl() As String
Dim rst As ADODB.Recordset

    Set rst = New ADODB.Recordset
    rst.ActiveConnection = CurrentProject.Connection
    rst.CursorType = adOpenDynamic
    rst.LockType = adLockOptimistic

'ОБНОВЛЕНИЕ ВЕРСИИ БД!!!!


rst.Open ("Select QVBasePermissionsKeyInBD.KeyInBD From  QVBasePermissionsKeyInBD ")

Do Until rst.EOF
    If rst("KeyInBD") <= KeyInBD Then
   
    
    rst.Close
    Set rst = Nothing
    Exit Function
    Else
    KeyBD = rst("KeyInBD")
    KeyInBD = 0
    
    End If
rst.MoveNext
Loop
rst.Close
Set rst = Nothing

If KeyInBD = 0 Then
MsgBox "Обновите версию базы данных до: " & KeyBD & ". Новая версия базы данных находится по адресу:\\production\OU_Projects\PTO\Обмен\Интерфейс"
    Call LoginRequery
    If GLogin = 1 Then Exit Function
DoCmd.CloseDatabase
End If
End Function


PM MAIL   Вверх
Akina
Дата 5.10.2015, 08:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(basdv @  5.10.2015,  00:11 Найти цитируемый пост)
В нем имеется глобальная переменная - версия программы.

Имеется в виду, что в common-модуле прописано что-то типа
Код

Public Const KeyInBD As Single = 1.658

?
Цитата(basdv @  5.10.2015,  00:11 Найти цитируемый пост)
В ручную это делать медленно и новым пользователям нужно объяснять, откуда брать новый файл... 
Можно ли это делать программно при проверке версии внутри текущего проекта?

Ну, можно... хотя я бы для упрощения процесса разделил функционал и написАл отдельный модуль-стартер, который бы проверял версию основного модуля-интерфейса, и при выявлении несоответствия выполнял получение актуального модуля с сервера и замену устаревшего модуля на актуальный. Для простоты организации можно актуальный модуль класть на SQL-сервер в BLOB-поле служебной таблицы.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
basdv
Дата 5.10.2015, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 10.11.2006
Где: СПб

Репутация: нет
Всего: нет



Цитата

Имеется в виду, что в common-модуле прописано что-то типа
   
Public Const KeyInBD As Single = 1.658


Почти, 

у меня не много по другому:

Код


Public KeyInBD As String

Public Function CreateKeyInBD()
'ОБНОВЛЕНИЕ ВЕРСИИ БД!!!!

KeyInBD = "1.658"

End Function



Не разу не сталкивался с BLOB-поле на SQL-сервере. Попробую сделать вспомогательный проект. Текущий номер версии проекта планирую сохранять в служебную таблицу на SQL-server, по событию "Обновите версию БД".  Далее из текущего проекта запускается модуль копирования вспомогательного проекта в текущую директорию, потом запуск вспомогательного проекта и закрытие текущего проекта. На вспомогательном проекте запускается модуль копирования нового проекта в текущую директорию, потом удаляется старый. На сколько это реально не знаю...

Это сообщение отредактировал(а) basdv - 5.10.2015, 19:30
PM MAIL   Вверх
Akina
Дата 6.10.2015, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(basdv @  5.10.2015,  20:21 Найти цитируемый пост)
у меня не много по другому

Константа была бы правильнее. Ещё правильнее - записывать версию в UserProperties.

Цитата(basdv @  5.10.2015,  20:21 Найти цитируемый пост)
из текущего проекта запускается модуль копирования вспомогательного проекта в текущую директорию

Лучше во временный каталог пользователя.

Цитата(basdv @  5.10.2015,  20:21 Найти цитируемый пост)
На вспомогательном проекте запускается модуль копирования нового проекта в текущую директорию, потом удаляется старый. На сколько это реально не знаю...

Скорее всего, будешь натыкаться на блокировку старого проекта - его отпускает не сразу, завершение работы требует времени.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0723 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.