|
|
|
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
|
|||
|---|---|---|---|
|
#18+
Всем привет. Спасибо всем, кто поможет. Хочу сделать так, чтобы выполнялись две операции: 1. Копирование файла mdb из бэкапа. 2. Запуск файла, полученного после копирования. Но при этом юзер должен нажимать на один ярлык, а не на два. Видимо, задача сводится к тому, чтобы по ходу работы программы запустить другой mdb (причем на переднем плане экрана), а старый закрыть. Реально ли такое? Аксесс 2000. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2004, 11:47:12 |
|
||
|
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
|
|||
|---|---|---|---|
|
#18+
Реально - у нас так и работает - сейчас код посмотрю :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2004, 11:53:52 |
|
||
|
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
|
|||
|---|---|---|---|
|
#18+
Буду очень благодарен! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2004, 11:55:50 |
|
||
|
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. net_FILE - имя файла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2004, 11:58:43 |
|
||
|
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
|
|||
|---|---|---|---|
|
#18+
Понял. Очень спасибо!!! :^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2004, 12:00:03 |
|
||
|
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
|
|||
|---|---|---|---|
|
#18+
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 в этом файлике у меня написано что тот из которого вызываю удаляю , копирую на его место новый и запускаю новый ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2004, 12:01:03 |
|
||
|
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
|
|||
|---|---|---|---|
|
#18+
Владимир СанычПонял. Очень спасибо!!! :^) Всегда пожалуйста :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2004, 12:01:26 |
|
||
|
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
|
|||
|---|---|---|---|
|
#18+
а New Application попользовать - не роднее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2004, 12:02:20 |
|
||
|
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
|
|||
|---|---|---|---|
|
#18+
2 TatianaT: :^) OK, спасибо. Собственно, идея та же. Но у меня будет третий вариант, я уже знаю какой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2004, 12:02:54 |
|
||
|
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
|
|||
|---|---|---|---|
|
#18+
Мшсещырфа New Application попользовать - не роднее? А как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2004, 12:03:14 |
|
||
|
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
|
|||
|---|---|---|---|
|
#18+
Dim anotherApp as Access.Application Set anotherApp = New Access.Application ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2004, 12:04:13 |
|
||
|
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
|
|||
|---|---|---|---|
|
#18+
А дальше? Как указать, чтО я запускаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2004, 12:05:13 |
|
||
|
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
|
|||
|---|---|---|---|
|
#18+
да еще не забыть anotherApp.OpenCurrentDatabase ну и фокуЗ потом отдать грамотно - под рукой примера нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2004, 12:05:34 |
|
||
|
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
|
|||
|---|---|---|---|
|
#18+
ау - годится ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2004, 12:07:29 |
|
||
|
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
|
|||
|---|---|---|---|
|
#18+
Мшсещырфда еще не забыть anotherApp.OpenCurrentDatabase Это не годится, так я зациклюсь. И еще: не закроется ли этот anotherApp, когда я закрою родительский? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2004, 12:07:42 |
|
||
|
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
|
|||
|---|---|---|---|
|
#18+
а мне кажется что наши варианты с paparome проще ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2004, 12:09:55 |
|
||
|
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
|
|||
|---|---|---|---|
|
#18+
TatianaTа мне кажется что наши варианты с paparome проще Мне тоже. :^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2004, 12:10:30 |
|
||
|
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
|
|||
|---|---|---|---|
|
#18+
Владимир Саныч Мшсещырфда еще не забыть anotherApp.OpenCurrentDatabase Это не годится, так я зациклюсь. И еще: не закроется ли этот anotherApp, когда я закрою родительский? Про проще - ничего не скажу. проще так проще. Я говорил иначе - роднее. Про зациклюсь. Похоже уже зациклился - Саныч - он ведь ДРУГОЙ - это просто еще один экземпляр запущенного акцесса. С чего бы ДРУГОМУ экземпляру акцесса закрываться, когда ты СВОЙ закроешь? ЗЫ 1)Саныч - ты вчера с Екселем ТАКЖЕ работал. 2) роднее - потому что OLE Automation. :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2004, 12:15:38 |
|
||
|
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
|
|||
|---|---|---|---|
|
#18+
Саныч, если не затруднит, скажи, какой твой третий вариант. Да вспомнил вот еще, один мой приятель подобного сорта VBS скрипты лабал и вешал на расписание получение отчетности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2004, 12:19:41 |
|
||
|
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
|
|||
|---|---|---|---|
|
#18+
VictoshaПро зациклюсь. Похоже уже зациклился - Саныч - он ведь ДРУГОЙ - это просто еще один экземпляр запущенного акцесса. Если у него в Автоэкзеке написано открыть еще раз тот же mdb, то он его откроет, опять запустит тот же Автоэкзек, ну и т.д. То есть нужен какой-то дополнительный иф, чтобы из этого выйти. VictoshaС чего бы ДРУГОМУ экземпляру акцесса закрываться, когда ты СВОЙ закроешь? Но ведь я его открыл через переменную, описанную в СВОЕМ. Переменная ёк - Аппликейшн ёк. В отличие от Шелла, который запускает совершенно независимый процесс. Victoshaты вчера с Екселем ТАКЖЕ работал. Я вчера не работал с Екселем. Не понял, к чему это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2004, 12:21:58 |
|
||
|
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
|
|||
|---|---|---|---|
|
#18+
VictoshaСаныч, если не затруднит, скажи, какой твой третий вариант. Третий - по отношению к вариантам paparome и TatianaT. То есть идея та же, но все стринги будут задаваться по-другому. Твой вариант - гораздо более третий, он даже гораздо более второй, но я о нем не знал, когда писал про свой третий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2004, 12:25:40 |
|
||
|
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
|
|||
|---|---|---|---|
|
#18+
2 Владимир Саныч Процесс останется. Victosha дело говорит:) Сам так и делал, без всяких shell - другое дело, что макрос autoexec выполнится - иногда не удобно работать, но писать в макросе открытие другого мдб и закрытие самого себя - именно в autoexec - полёт извращённой фантазии... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2004, 12:31:10 |
|
||
|
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
|
|||
|---|---|---|---|
|
#18+
Готовое решение - автообновление клиентской части на основе VBS скрипта по мотивам решения предложенного Хаммером http://kozin1.narod.ru/newsite/index.html?autoupdateclient.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2004, 12:34:46 |
|
||
|
запустить другой mdb (причем на переднем плане экрана), а старый закрыть
|
|||
|---|---|---|---|
|
#18+
Владимир Саныч Если у него в Автоэкзеке написано открыть еще раз тот же mdb, то он его откроет, опять запустит тот же Автоэкзек, ну и т.д. То есть нужен какой-то дополнительный иф, чтобы из этого выйти. Лихо. Одноако, если это утверждение - осмысленно, то ты "зациклишся" в любом случае. И Shell тебя не спасет. Владимир Саныч Но ведь я его открыл через переменную, описанную в СВОЕМ. Переменная ёк - Аппликейшн ёк. В отличие от Шелла, который запускает совершенно независимый процесс. НЕВЕРНО. Новый экземпляр акцесса НЕ МОЖЕТ БЫТЬ запущен в адресном пространстве текущего процесса. Он обязательно запустится в собственном, как абсолютно самостоятельное приложение. Отличия от запуска через Shell - он не будет ВИДИМЫМ, пока ты этого ему не скажешь. Владимир Саныч Я вчера не работал с Екселем. Не понял, к чему это. Ну, не вчера, так позавчера. КОГДА НИБУДЬ с Екселем работал? Почему, получив экземпляр Ексель, тебе не страшно открыть в нем рабочую книгу. Вдруг зациклишся, поскольку она начнет открывать сама себя в бесконечном цикле... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2004, 12:37:33 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32633009&tid=1672745]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 310ms |

| 0 / 0 |
