Avatar billede susanneandersen Nybegynder
11. juli 2008 - 14:44 Der er 1 kommentar og
2 løsninger

adgang på 2 niveauer vha password

Hej. Jeg har nu forsøgt mig med at angive h.h.v. læse og skriverettigheder i Access. Jeg har tilmed været næsten alle indlæg på denne side igennem, angående dette emne.
Jeg skal bruge 2 login.
1 for Admin (skrive og rette) samt 1 login for Users (læse).
Uanset hvad jeg gør, gælder mit login for al Access login. Og jeg kan slet ikke definere password for "users" (kun admin).
Hvis jeg ændrer passwordet for Admin - gælder dette for alle mine Access filer. Jeg ønsker kun disse 2 login for en enkelt database. Ægte hovedbrud :-)
Avatar billede mugs Novice
11. juli 2008 - 14:48 #1
Har du læst Thomas Jepsen's artikel om emnet:

http://www.eksperten.dk/artikler/314
Avatar billede susanneandersen Nybegynder
11. juli 2008 - 15:04 #2
tak for infoen
Avatar billede Slettet bruger
11. juli 2008 - 22:53 #3
Du kan styre det selv, du laver din database, sådan at alle formularer kun har læserettigheder. Så laver du et modul, som kun indeholder flg. kode:

Option Compare Database
Public Gbl_Password As String

Du kan jo kalde modulet for Global, det er lige meget hvad det hedder..

Så laver du en knap på din hovedmenu eller opstartsformular eller hvor det nu passer bedst, med en tekst a'la "Log på som Admin" eller hvad du nu finder på. Koden du ligger på denne knap kunne så være:

Private Sub NavnPåDinKnap_Click()
If InputBox("Indtast password") = "DitPassword" Then
Gbl_Password = "DitPassword"
Me.Form.AllowAdditions = True
Me.Form.AllowDeletions = True
Me.Form.AllowEdits = True
Else
Gbl_Password = ""
Me.Form.AllowAdditions = False
Me.Form.AllowDeletions = False
Me.Form.AllowEdits = False
End If
End Sub

og så ligger du flg. kode på alle formularer:

Private Sub Form_Open(Cancel As Integer)
If Gbl_Password = "DitPassword" Then
Me.Form.AllowAdditions = True
Me.Form.AllowDeletions = True
Me.Form.AllowEdits = True
Else
Me.Form.AllowAdditions = False
Me.Form.AllowDeletions = False
Me.Form.AllowEdits = False
End If
End Sub

Det er nærmest en intro til at styre sikkerheden selv!~)

Hvis du så vil have at man ikke kan se hvad man skriver, når man indtaster password, så må du lave en lille formular med et tekstfelt, dvs. nærmest din egen MsgBox for på dette tekstfelt kan du vælge formatet PASSWORD og så kommer der stjerner, når du skriver...

Så er der lige det med truslen over for SQL-injections... hvis du vil gøre metoden mere sikker over for dette, så kan du vende den ene kode om, således:

Private Sub NavnPåDinKnap_Click()
If InputBox("Indtast password") <> "DitPassword" Then
Gbl_Password = ""
Me.Form.AllowAdditions = False
Me.Form.AllowDeletions = False
Me.Form.AllowEdits = False
Else
Gbl_Password = "DitPassword"
Me.Form.AllowAdditions = True
Me.Form.AllowDeletions = True
Me.Form.AllowEdits = True
End If
End Sub

Det er nok ikke så aktuelt i dit tilfælde, men det er en god finte, som hermed er sendt videre!~)
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