Avatar billede terib Nybegynder
03. december 2003 - 08:25 Der er 5 kommentarer og
3 løsninger

Kode stump

Hej,

Jeg er ikke nogen nørd til det her. Derfor - er der en der kan forklare mig med menneskeord hvad nedenstående kode betyder, linie for linie ??

Dim usr As User
  Dim strPassword As String
  Set usr = DBEngine(0).Users(CurrentUser)
  On Error Resume Next
  usr.NewPassword ””, ””
  If Err.Number = 0 Then
    strPassword = InputBox(”Du skal indtaste et password”, ”Enter Password”)
    If strPassword = ”” Then
        DoCmd.Quit
    Else
        usr.NewPassword ””, strPassword
    End If
End If
Avatar billede mugs Novice
03. december 2003 - 08:34 #1
Det er en kode til skift af password med en fejlbehandling. Du bliver bedt om at indtaste et nyt password. Hvis dette nye er Null (ingenting / tom streng) opstår fejlnr 0. Hvis denne opstår kommer der en inputbox (strPassword = Inputbox ....) og beer dig indtaste et password.

Hvis det nye password er en tom streng lukkes Access (DoCmd.Quit), ellers bliver det gamle password er stattet med det nye (usr.NewPassword ””, strPassword
)
03. december 2003 - 08:39 #2
Mugs, du har delvist ret.

Ideen med denne procedure et at sikre sig at alle brugere har angivet et password i stedet for blot at have blankt password (sikkerhedsbrist)

linien usr.NewPassword ””, ”” forsøger så at skifte password ved at angive både nyt og gammelt password som tomt. Hvis dette lykkedes, så er det fordi at der ikke var noget password. Derved opstår der IKKE nogen fejl (hvorved Err.Number forbliver 0) og brugeren bedes indtaste nyt password.
Hvis der allerede havde været defineret et password af brugeren, så var sætningen ikke lykkedes, hvorved resten af koden springes over.
Avatar billede jobba Nybegynder
03. december 2003 - 08:49 #3
Jeg giver et forsøg...
Det ser ud til at koden ændrer password på den bruger som er logget på din Access, når du har aktiveret rettigheder på din access. Det er i stedet for at gå i menuen Tools->Security, for at ændre password.

Dim usr As User    'Erklærer et instans af objektet user.
Dim strPassword As String    'Erklærer en variabel af typen string
Set usr = DBEngine(0).Users(CurrentUser)  'Her går jeg ud fra at usr refereres til user objectet med information om hvem som er logget på access i øjeblikket.
On Error Resume Next    'Hvis der sker en fejl i de efterfølgende liniers kode, vil eksekveringen fortsætte til næste linie uden at stoppe op og melde om fejl.
usr.NewPassword ””, ””    'Syntaxen er userobjekt.NewPassword oldpassword, newpassword. Tjekker om brugeren er logget på med password.
If Err.Number = 0 Then    'Hvis brugeren er logget på uden password, vil denne betingelse være sand og udføre koden heri.
    strPassword = InputBox(”Du skal indtaste et password”, ”Enter Password”)  'Beder brugeren indtaste et nyt password
    If strPassword = ”” Then    'Hvis brugeren indtaster ingenting, vil Access lukke.
        DoCmd.Quit
    Else
        usr.NewPassword ””, strPassword  'Hvis brugeren indtaster et nyt password, vil der blive sat nyt password på den nuværende bruger.
    End If
End If

Alt i alt tjekker koden om brugeren er logget på med et password. Hvis ikke, vil han blive bedt om at indtaste et nyt. Og hvis han ikke gør, vil access lukke.
Jeg håber dette gav lidt forståelse :-) Ellers må du spørge.
Avatar billede vanni Nybegynder
03. december 2003 - 13:41 #4
jobba: Det er du bare pokkers god til at skære i pap! Du antager ikke som en selvfølge en indforståethed, der kan vanskeliggøre forståelsen. Du løfter forståelsesniveauet til uanede højder. Først pinder du det ud i detaljer og derefter et resumé. Du burde have millioner af points.
Avatar billede jobba Nybegynder
03. december 2003 - 13:50 #5
hehe. Takker. Det var jo det du bad om.
Avatar billede jobba Nybegynder
03. december 2003 - 15:04 #6
Hvis du er så tilfreds, må du også hellere acceptere svaret.
Avatar billede terib Nybegynder
03. december 2003 - 16:33 #7
Tak for hjælpen alle tre. Jeg har prøvet at fordele point som jeg ser brugbarheden :-) Håber alle er tilfreds !
>>jobba - den kommentar fra vanni er jeg ikke ansvarlig for, han/hun derfor heller ikke acceptere noget som helst !
Endnu en gang tak !
Avatar billede jobba Nybegynder
03. december 2003 - 21:27 #8
Ups... undskyld. Jeg troede det var dig som havde svaret :D
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