Każdy kto używa Accessa 2003 wie o co chodzi... O ten uporczywy komunikat
przy starcie aplikacji:
Ten plik może nie być bezpieczny, jeżeli zawiera kod przeznaczony do uszkodzenia
komputera. Czy chcesz otworzyć ten plik?
Trzeba mieć mocne nerwy, żeby po przeczytaniu takiego ostrzeżenia kliknąć
Tak - narażając swój komputer na niewątpliwe zniszczenie. Prędzej należy się
spodziewać, że użytkownik wyrwie wtyczkę z gniazdka i ucieknie. Co sobie pomyśli
o programiście, który mu ten program przyniósł - lepiej nie myśleć... ;-)
Jak zatem pozbyć się tego komunikatu, żeby nie narażać użytkownika na zbyt gwałtowną akcje serca? Chciałby przedstawić dwa mniej typowe rozwiązania:
'(c) TC dim o set o=createobject ("Access.Application") o.automationsecurity=1 ' set macro security LOW. o.opencurrentdatabase "C:\Program Files\Baza1\db1.mdb" o.usercontrol=true set o=nothingNiezwykle interesujące jest to, że niniejszy skrypt ustawia niski poziom zabezpieczeń wyłącznie dla bieżącej sesji Accessa(!). Należy też zwrócić uwagę na użycie właściwości usercontrol, która zgodnie z accessowym helpem jest tylko do odczytu.
(Skrypty VBS okazują się przydatne także do innych zastosowań. Sposób wykorzystania podobnego skryptu do automatycznego wczytania nowej wersji programu, został zawarty w przykładzie na stronie war323.htm. W tym przypadku skrypt VBS działa zarówno w runtime, jak i w pełnym Accessie.)
K.P.