powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / запустить другой mdb (причем на переднем плане экрана), а старый закрыть
25 сообщений из 41, страница 1 из 2
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
    #32632789
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Всем привет. Спасибо всем, кто поможет.

Хочу сделать так, чтобы выполнялись две операции:
1. Копирование файла mdb из бэкапа.
2. Запуск файла, полученного после копирования.
Но при этом юзер должен нажимать на один ярлык, а не на два.

Видимо, задача сводится к тому, чтобы по ходу работы программы запустить другой mdb (причем на переднем плане экрана), а старый закрыть. Реально ли такое?

Аксесс 2000.
...
Рейтинг: 0 / 0
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
    #32632814
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Реально - у нас так и работает - сейчас код посмотрю :)
...
Рейтинг: 0 / 0
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
    #32632820
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Буду очень благодарен!
...
Рейтинг: 0 / 0
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
    #32632828
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
acs_PLACE = SysCmd(acSysCmdAccessDir)
acs_PLACE = acs_PLACE & Dir(acs_PLACE & "MSaccess*.exe") & " "
Call Shell(acs_PLACE & loc_PLACE & net_FILE & " /cmd ""OK""", vbMaximizedFocus)

DoCmd.Quit
loc_PLACE - путь на локальной машине
net_FILE - имя файла
...
Рейтинг: 0 / 0
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
    #32632831
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Понял. Очень спасибо!!! :^)
...
Рейтинг: 0 / 0
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
    #32632833
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim MyRecord As Record, Position
Dim StrVersionApplic As String
Dim RetVal
Dim StrSysVer As String
Dim UsName As String
Dim VerPos As Long

Open "H:\Dap\Test\APPS\Version.txt" For Random As #1 Len = Len(MyRecord)
Position = 1 ' Define record number.
Get #1, Position, MyRecord ' Read record.
Close #1

StrVersionApplic = Trim(MyRecord.Name)
StrVersionApplic = Mid(StrVersionApplic, 1, 4)
If Trim(Right([Forms]![mainform]!version.Caption, 6)) <> Trim(StrVersionApplic) Then
'obnovlenie- zapusk utiliti
UsName = Environ$("computerNAME")
RetVal = Shell("H:\Dap\Test\APPS\Replace.bat", 1)
DoCmd.Quit
End If


в выделенном кусочке
см Replace.bat в этом файлике у меня написано что тот из которого вызываю удаляю , копирую на его место новый и запускаю новый
...
Рейтинг: 0 / 0
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
    #32632837
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир СанычПонял. Очень спасибо!!! :^)
Всегда пожалуйста :)
...
Рейтинг: 0 / 0
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
    #32632839
Мшсещырф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а New Application попользовать - не роднее?
...
Рейтинг: 0 / 0
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
    #32632842
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 TatianaT:

:^) OK, спасибо.

Собственно, идея та же. Но у меня будет третий вариант, я уже знаю какой.
...
Рейтинг: 0 / 0
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
    #32632844
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Мшсещырфа New Application попользовать - не роднее?
А как?
...
Рейтинг: 0 / 0
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
    #32632851
Мшсещырф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dim anotherApp as Access.Application
Set anotherApp = New Access.Application
...
Рейтинг: 0 / 0
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
    #32632854
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А дальше? Как указать, чтО я запускаю?
...
Рейтинг: 0 / 0
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
    #32632857
Мшсещырф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да еще не забыть
anotherApp.OpenCurrentDatabase

ну и фокуЗ потом отдать грамотно
- под рукой примера нет.
...
Рейтинг: 0 / 0
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
    #32632869
Мшсещырф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ау - годится ли?
...
Рейтинг: 0 / 0
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
    #32632870
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Мшсещырфда еще не забыть
anotherApp.OpenCurrentDatabase
Это не годится, так я зациклюсь.

И еще: не закроется ли этот anotherApp, когда я закрою родительский?
...
Рейтинг: 0 / 0
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
    #32632879
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а мне кажется что наши варианты с paparome проще
...
Рейтинг: 0 / 0
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
    #32632881
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
TatianaTа мне кажется что наши варианты с paparome проще
Мне тоже. :^)
...
Рейтинг: 0 / 0
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
    #32632900
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч Мшсещырфда еще не забыть
anotherApp.OpenCurrentDatabase
Это не годится, так я зациклюсь.

И еще: не закроется ли этот anotherApp, когда я закрою родительский?

Про проще - ничего не скажу. проще так проще. Я говорил иначе - роднее.

Про зациклюсь. Похоже уже зациклился - Саныч - он ведь ДРУГОЙ - это просто еще один экземпляр запущенного акцесса.

С чего бы ДРУГОМУ экземпляру акцесса закрываться, когда ты СВОЙ закроешь?


ЗЫ
1)Саныч - ты вчера с Екселем ТАКЖЕ работал.
2) роднее - потому что OLE Automation. :))
...
Рейтинг: 0 / 0
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
    #32632918
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саныч, если не затруднит, скажи, какой твой третий вариант.

Да вспомнил вот еще, один мой приятель подобного сорта VBS скрипты лабал и вешал на расписание получение отчетности.
...
Рейтинг: 0 / 0
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
    #32632932
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
VictoshaПро зациклюсь. Похоже уже зациклился - Саныч - он ведь ДРУГОЙ - это просто еще один экземпляр запущенного акцесса.
Если у него в Автоэкзеке написано открыть еще раз тот же mdb, то он его откроет, опять запустит тот же Автоэкзек, ну и т.д. То есть нужен какой-то дополнительный иф, чтобы из этого выйти.

VictoshaС чего бы ДРУГОМУ экземпляру акцесса закрываться, когда ты СВОЙ закроешь?
Но ведь я его открыл через переменную, описанную в СВОЕМ. Переменная ёк - Аппликейшн ёк. В отличие от Шелла, который запускает совершенно независимый процесс.

Victoshaты вчера с Екселем ТАКЖЕ работал.
Я вчера не работал с Екселем. Не понял, к чему это.
...
Рейтинг: 0 / 0
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
    #32632950
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
VictoshaСаныч, если не затруднит, скажи, какой твой третий вариант.
Третий - по отношению к вариантам paparome и TatianaT. То есть идея та же, но все стринги будут задаваться по-другому.

Твой вариант - гораздо более третий, он даже гораздо более второй, но я о нем не знал, когда писал про свой третий.
...
Рейтинг: 0 / 0
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
    #32632977
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Владимир Саныч
Процесс останется. Victosha дело говорит:)
Сам так и делал, без всяких shell - другое дело, что макрос autoexec выполнится - иногда не удобно работать, но писать в макросе открытие другого мдб и закрытие самого себя - именно в autoexec - полёт извращённой фантазии...
...
Рейтинг: 0 / 0
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
    #32632997
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Готовое решение - автообновление клиентской части на основе VBS
скрипта по мотивам решения предложенного Хаммером


http://kozin1.narod.ru/newsite/index.html?autoupdateclient.htm
...
Рейтинг: 0 / 0
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
    #32633009
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч
Если у него в Автоэкзеке написано открыть еще раз тот же mdb, то он его откроет, опять запустит тот же Автоэкзек, ну и т.д. То есть нужен какой-то дополнительный иф, чтобы из этого выйти.


Лихо.
Одноако, если это утверждение - осмысленно, то ты "зациклишся" в любом случае.
И Shell тебя не спасет.

Владимир Саныч
Но ведь я его открыл через переменную, описанную в СВОЕМ. Переменная ёк - Аппликейшн ёк. В отличие от Шелла, который запускает совершенно независимый процесс.


НЕВЕРНО. Новый экземпляр акцесса НЕ МОЖЕТ БЫТЬ запущен в адресном пространстве текущего процесса. Он обязательно запустится в собственном, как абсолютно самостоятельное приложение.
Отличия от запуска через Shell - он не будет ВИДИМЫМ, пока ты этого ему не скажешь.

Владимир Саныч
Я вчера не работал с Екселем. Не понял, к чему это.
Ну, не вчера, так позавчера.
КОГДА НИБУДЬ с Екселем работал?
Почему, получив экземпляр Ексель, тебе не страшно открыть в нем рабочую книгу. Вдруг зациклишся, поскольку она начнет открывать сама себя в бесконечном цикле...
...
Рейтинг: 0 / 0
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
    #32633022
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошу прощения за нагруз - второй день глюки (((;
по возможности...
потрите...
лишнее...
Я, конечно , виноват, но уже сделано...
...
Рейтинг: 0 / 0
25 сообщений из 41, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / запустить другой mdb (причем на переднем плане экрана), а старый закрыть
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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