|
|
|
| Посоветовали такую функцию для запуска батника, но как запустить, и где прописать не знаю(где бат прописывается, не понятно). Но может есть уже готовые решения?
И вроде как даже на закрытии базы она срабатывает.
strCom = Chr(34) & PathPF & "\Microsoft Office\Office10\MSACCESS.EXE" & Chr(34) & " " & Chr(34) & path & Chr(34)
Sh = Shell(strCom, vbHide) | |
|
| |
|
|
|
| http://hiprog.com/forum/read.php?id_forum=1&id_theme=4876&page=1 | |
|
| |
|
|
|
| А поподробней можно. Куда записовать этот Shell надо? | |
|
| |
|
|
|
|
| Я понимаю, синтаксис не очень понятен, в какой процедуре должно прописыватся? | |
|
| |
|
|
|
| в любой
Все зависит от того когда вы хотите выполнить этот батник | |
|
| |
|
|
|
|
| в ACCESS не события "закрытия программы"
обычно рекомендуют при запуске открывать скрытую форму и на событие "закрытие" этой формы вешать код, который доложен выполняться при закрытии программы | |
|
| |
|
|
|
| У меня база из контекст. меню, закрытие идет на крестик самого Access, как мне это сделать, и если можно, приведите пожалуйста пример кода, а то я не очень в этом. | |
|
| |
|
|
|
| >>а то я не очень в этом
ну так подучитесь и будете очень
вам это вообще зачем?
если как программисту, то RTFM
если как ученику/студенту, одноразово, тогда RTFM и мы подправим код, который вы напишете :)
а иначе херня-с, батенька, получается | |
|
| |
|
|
|
| Очень смешно! Как прописать Shellя разобрался, но получается гемор, по самому бат идет архивация, а по кнопке выход ничего не архивирует(хотя процес арчивации пробегает). Это я пробую по кнопке выход на форме, а нужно по кнопке закрытия Access.
Вот и нужна ваша помощь. | |
|
| |
|
|
|
| На кнопке выхода пишу вот эти слова
Private Sub Кнопка0_Click()
Call Shell("C:\123.bat", vbHide)
DoCmd.Quit
End Sub
|
| |
|
| |
|
|
|
| http://hiprog.com/forum/read.php?id_forum=1&id_theme=5083&page=1 | |
|
| |
|
|
|
| Спасибо за ссылку, заработало, но мне нужно как я уже писал ранее "У меня база из контекст. меню, закрытие идет через крестик самого Access" , как прописать Shell для этого. И очень бы хотелось как у меня сделано в бате, архивировать в папочку с датой, и он записывал архивы по времени(не заменял их), а сейчас по прямой ссылке b]Shell """C:\Program Files\WinRar\WINRAR.EXE"" a -m5 -ep -dh -inul -agdd_mm_yyyy C:\Bakup\ C:\Base\*.mdb"
DoCmd.Quit[/b] , происходит замена архива на новый, может всетаки есть функция обращения к бат, через Shell, или через что то другое. | |
|
| |
|
|
|
| как я уже писал ранее.....закрытие идет через крестик самого Access |
как я тоже писал ранее
в ACCESS не события "закрытия программы"
обычно рекомендуют при запуске открывать скрытую форму и на событие "закрытие"
этой формы вешать код, который доложен выполняться при закрытии программы |
| |
|
| |
|
|
|
|
в ACCESS не события "закрытия программы"
обычно рекомендуют при запуске открывать скрытую форму и на событие "закрытие"
этой формы вешать код, который доложен выполняться при закрытии программы
|
Не очень понятно конечно, ну вот имеется у меня форма frmMainMenu, в ней на кнопке "выход" стоит архивация, затем идет выход. Мне эту форму нужно делать невидимой?(невидимой - это в свойствах: вывод на экран "Нет"). | |
|
| |
|
|
|
| обычно невидимой делают форму с которой не будут работать пользователи, т.е. кнопок в них не делают.
в такой форме можно хранить глобальные переменные и какие-то настройки которые могут понадобиться во время сеанса
кроме того в ней можно, с помощью события Таймер выполнять какие-то периодические действия. т.е. это чисто служебная форма.
Запускают такую форму в при старте приложения с помощью docmd.openform и атрибута acHidden
в этой форме на событие "закрытие" нужно написать код который вы хотите выполнить при закрытии приложения.
Поскольку форма не видна пользователю то событие закрытия этой формы возникнет только про закрытии приложения любым цивилизованным (т.е. не срубанием процесса) способом.
т.е. вы может сделать в другой/их форме/ах кнопку "Выход" с кодом application.Quit или позволить пользователю закрыть access "крестиком" или через меню, или по Alt+F4, в любом случае возникнет событие закрытия скрытой формы запущенной при старте и выполниться тот код который вы напишите в этом событии. | |
|
| |
|
|
|
| А есть пример такой формы, а то совсем грусно. | |
|
| |
|
|
|
| Вы мне специально дали время чтобы разобратся, и я разобрался к концу дня, получилось! Сделал форму невидимой, запустил ее с помощью Autoexec, и на ее закрытие положил
Shell """C:\Program Files\WinRar\WINRAR.EXE"" a -m5 -ep -dh -inul -agdd_mm_yyyy C:\Bakup\ C:\Base\*.mdb"
DoCmd.Quit
| Все здорво, но архив идет с заменой при закрытии, как же все таки сделать обращение Shellя непосредственно к бату? | |
|
| |