Avatar billede weinreich Nybegynder
25. oktober 2002 - 15:50 Der er 15 kommentarer og
2 løsninger

Adgang til Database??

Jeg har en database hvor visse folk skal have adgang og andre ikke skal, men jeg gider ikke passwords, eller sagt på en anden måde, jeg mener ikke at der er brug for det.

Jeg har en metode GetUsername() som finder den bruger der er logget på den givne computer pt. Det som jeg gerne vil have er en eller anden vba-kode som, når jeg åbner databasen checker om jeg findes i brugertabellen (kaldet Systembrugere). Hvis usernamet findes skal databasen bare åbne men hvis det ikke gør skal den komme med en msgbox der siger at man ikke har lov til at bruge databasen. Er der nogen der kan hjælpe mig med sådan en kode og hvor den evt. skal være??

Desuden vil jeg også gerne lige høre hvordan jeg kan undgå at folk taster F11 for at komme ind i databasemenuen. Så kan man jo bare oprette sig selv.
Er der desuden andre ting jeg skal tage højde for??? Så vil jeg blive glad hvis i gør mig opmærksom på det.
Avatar billede 3xa Nybegynder
25. oktober 2002 - 15:57 #1
Avatar billede weinreich Nybegynder
25. oktober 2002 - 15:58 #2
Det med F11 fandt jeg selv lige ud af så det skal i ikke svare på :)
Jeg kan også lige sige at jeg arbejder i 97.
Avatar billede weinreich Nybegynder
25. oktober 2002 - 15:59 #3
OK takker til 3xa
Avatar billede 3xa Nybegynder
25. oktober 2002 - 16:00 #4
Så kan folk ikke trykke på shift, mens de åbner, så den springer Autoexec over.
Avatar billede 3xa Nybegynder
25. oktober 2002 - 16:01 #5
Det er forresten en ret fed side, der kan du få mange svar!
Avatar billede 3xa Nybegynder
25. oktober 2002 - 16:02 #6
Koden skal køres fra en Macro der hedder Autoexec
Avatar billede 3xa Nybegynder
25. oktober 2002 - 16:04 #7
Her er den kode jeg benytter:

    DoCmd.SetWarnings False
    DoCmd.OpenForm "Bruger", acNormal, "", "", , acNormal
    Forms!Bruger![MA-nr] = GetUserName()
    DoCmd.Close acForm, "Bruger"
    DoCmd.OpenForm "Test af rettigheder", acNormal, "", "", , acNormal
    If Forms![Test af rettigheder]![CountOfMA-nr] = 0 Then
    MsgBox "Du har ikke rettighed til at benytte denne database"
    DoCmd.Quit
    End If
    If Forms![Test af rettigheder]![CountOfMA-nr] = 1 Then
    DoCmd.Close acForm, "Bruger"
    DoCmd.Close acForm, "Test af rettigheder"
    Call Aabn_Hovedmenu
    End If
Avatar billede jkrons Professor
25. oktober 2002 - 16:05 #8
Men husk, hvis du bruger bypass metoden, at lave en bagdør - ellers kan du heller ikke selv komme ind i databasen.

Læg noget kode, der laven en DLookUp i SystemBrugere og leder efter den bruger, du har fundet med GetUsername(). Hvis den ikke findes, kan du lade koden lukke databasen ned igen.

Læg koden på VedÅbningshændelsen for den formular, du åbner når dsatabasen åbnes.
Avatar billede 3xa Nybegynder
25. oktober 2002 - 16:06 #9
Jeg har en form "Test af rettigheder", der er baseret på en forespørgsel, der tæller de brugere, hvis navn er lig med GetUserName(). Hvis den optælling er lig nul, bliver man smidt ud.
Avatar billede weinreich Nybegynder
25. oktober 2002 - 16:36 #10
Det var en rigtig god ide at gøre det på den måde med formsene men hvor er det lige at jeg sætter eventet ind??
Avatar billede terry Ekspert
25. oktober 2002 - 16:36 #11
Make an MDE file and use code similar to 3xa.
Avatar billede weinreich Nybegynder
25. oktober 2002 - 16:52 #12
The question now is where to use that code. On a timer event on a form or...
Avatar billede terry Ekspert
26. oktober 2002 - 15:04 #13
well I am not sure how 3xa is using it but I would set form "bruger" as the startup form.
Avatar billede sidewinder Nybegynder
28. oktober 2002 - 15:38 #14
Nu da det ikke er alle der kender den med F11, kunne jeg godt tænke mig at vide hvordan...
Avatar billede terry Ekspert
28. oktober 2002 - 15:41 #15
Open an Access dB an dthen choose Window+Hide from themenu. This willl hide the dB window. Now press F11
Avatar billede weinreich Nybegynder
29. oktober 2002 - 14:49 #16
OK jeg siger tak for hjælpen til alle der har hjulpet. Det skal lige siges at jeg kun arbejder på disse ting tirsdag og torsdag så hvis i synes at der går lidt lang tid inden jeg giver point så er det bare fordi jeg ikke lige er verdens hurtigste arbejder :) Håber det kan forstås.
Avatar billede terry Ekspert
29. oktober 2002 - 14:50 #17
:o) og tak
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