Avatar billede bjornhart Nybegynder
14. juli 2010 - 12:13 Der er 7 kommentarer og
1 løsning

Forhindre adgang til grænseflader hvis ikke VBA Makro er aktiveret

Jeg har lavet en database i Access. En del brugergrænseflader er afhængige af noget VBA kode.(div. dlookups og andet sjov)

Når en bruger åbner databasen kommer der en sikkerhedsadvarsel om hvorvidt man vil aktivere VBA-makro'er. Hvis brugeren vælger nej til dette bliver VBA-koden i grænsefladerne ikke udført:-(

Er der en mulighed for at forhindre en bruger i at komme ind i databasen(grænsefladerne) hvis han ikke aktiverer vba-makro'er?
Avatar billede hugopedersen Nybegynder
14. juli 2010 - 12:40 #1
2 forslag som jeg selv har brugt med held

I 2003 kan det som regel løses ved at lave en digital signatur (Office tools)
I 2007 er det noget med at lave en trusted location til det sted hvor din db ligger. Så accepterer Access at VBA aktiveres fra start.
Det kan laves fra kode, men det kræver så at din bruger tillader VBA mindst 1 gang.
Avatar billede bjornhart Nybegynder
14. juli 2010 - 12:58 #2
Jeg tror desværre ikke at mine brugere alle er skarpe nok til at huske og aktivere vba-makro bare en enkelt gang, så jeg håber på en anden løsning.
Avatar billede hugopedersen Nybegynder
14. juli 2010 - 13:04 #3
Hvilken version er det af Access?
Avatar billede bjornhart Nybegynder
14. juli 2010 - 14:01 #4
2007. Tænkte på om jeg ikke kunne lave en tom formular som start formular. Ved denne formulars indlæsning, lave en hændelsesprocedure i VBA, som åbner den rigtige start formular. Dermed vil den rigtige start formular ikke blive åbnet med mindre man aktivere VBA-makro
Avatar billede bjornhart Nybegynder
14. juli 2010 - 14:13 #5
Tror jeg har løst den ved at lave nedenstående.

Jeg har lavet en tom form der hedder StartMakroCheck. I denne forms "vedindlæsning"'s hændelse har jeg oprettet en vba-procedure med flg. kode:

DoCmd.OpenForm "oversigt", acNormal, "", "", acformEdit, acWindowNormal, ""

DoCmd.Close acForm, "StartMakroCheck", acSaveNo
Avatar billede hugopedersen Nybegynder
15. juli 2010 - 06:52 #6
Den rigtige løsning i 2007 er stadig at lave en trusted location der peger på den mappe hvor din applikation ligger.
Det kan du gøre ved enten manuelt at gøre det i Access. Du kan lave et lille installationsprogram (f.eks. med det gratis Advanced Installer) som installerer din applikation og laver rettelse i registry. Alternativt kan du lave en lille .reg fil som du kører på de maskiner hvor applikationen er installeret.
Avatar billede bjornhart Nybegynder
04. september 2010 - 00:04 #7
Du har nok ret hugopedersen, men min løsning virkede for mig denne gang. Kan du ikke sende mig et svar så jeg kan få afsluttet dette spørgsmål. Og tak for input!
Avatar billede hugopedersen Nybegynder
04. september 2010 - 12:19 #8
Et svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester