Avatar billede bjarke Nybegynder
18. januar 2000 - 16:41 Der er 24 kommentarer og
1 løsning

Login og brugere

Jeg har en accessdatabase med en tabel over medarbejdere. I tabellen er der en attribut 'Position'.

Jeg vil gerne have, at når man starter databasen op får et login-vindue (f.eks. 'Position' og 'Password'). Når så en læge logger ind, så skal han skrive 'læge' og så et password, som er det samme for alle læger (jeg ved godt, at i praksis bør de have hver deres password, men det er lige meget her:-).

Når man så er logget ind, skal der automatisk åbnes en bestemt form, som afhænger af hvilken stilling (position) man har.

Hvordan gør man det? Kan det laves med de gruppekonti der ligger i access? Eller skal det kodes - og hvordan ser koden i givet fald ud?

Håber, at der er nogle, som kan hjælpe. Hvis det er meget omfattende, så er jeg villig til at lægge flere points på bordet, for at få løst problemet...

-Bjarke
Avatar billede cldu Nybegynder
18. januar 2000 - 23:54 #1
hvis du smider flere points i - say omkring 300 ialt - skal jeg gerne skaffe et script og dertil hørende access database, som kan holde styr på hvilken bruger, hvilken adgangskode, og hvilken status der er logget ind. Fx. kan man logge ind som admin, bruger og superbruger osv...
Avatar billede moses Praktikant
19. januar 2000 - 08:17 #2
Du opretter blot det antal forskellige gbrugere, som du vil bruge:

Læge, Tekniker, administrator .....

Så definerer du, hvilke tabeller, queries, forms osv. de hver især må se og ændre i.

Til sidst, kan du altid styre, hvem der må hvad.

En trykknap kan f.eks. have følgende start i sin OnClick event:

if LCase(CurrentUser) <> "Læge" then
  MsgBox "Kun lægen kan oprette nye recepter !!"
else
  'Udfør oprettelse af recept  ....
  ........
endif

Du kan også bare afblænde for knappen, når det ikke er lægen, der starter en form op. Hertil bruger du formens OnOpen event:

if LCase(CurrentUser)  "Læge" then
  Trykknap.Enabled = True
else
  Trykknap.Enabled = False
endif

For ikke at forvirre:
Der findes både enkeltbrugere og brugergrupper i Access. Her taler jeg kun om enkeltbrugere !!

Avatar billede bjarke Nybegynder
19. januar 2000 - 08:21 #3
Hmmm, jeg havde nu tænkt mig at jeg selv skulle kunne lave det i access. Umiddelbart tror jeg også selv, at jeg kan lave det i VBA i access hvis jeg havde en halv evighed til det - men det har jeg ikke, så derfor vil jeg høre om ikke nogen kunne hjælpe mig på vej ved at lave koden for mig (som jeg så selv evt kunne tilpasse efter egne ønsker).
Avatar billede moses Praktikant
19. januar 2000 - 08:21 #4
Der mangler lige lidt i if sætningerne:
"læge" skal selvfølge være med små bogstaver og der manglede et "=" i den sidste.

if LCase(CurrentUser) <> "læge" then

og

if LCase(CurrentUser) = "læge" then
Avatar billede moses Praktikant
19. januar 2000 - 08:23 #5
Man kan ikke forudlave rettigheder i databasen. Det skal du selv lave, når alle objekter er lavet.

Jeg er ikke helt med på, hvad du mener, når du siger, at du vil lave det i Access ... ikke i VBA ?!?!

Den eneste mulighed du har for at lave sådan noget i Access er med ... VBA !!!!
Avatar billede moses Praktikant
19. januar 2000 - 08:26 #6
Alle dine forms laver du jo blot med "Drag 'n Drop".
Herefter er det en klaks at tilføje ovenstående stump kode til f.eks. en knap.

Jeg har kun lige knap tiden til at lave mine egne applikationer, så jeg kan desværre kun hjælpe dig med at beskrive løsningen - ikke lave den for dig.

Mojn (Hej, Farveller)
Avatar billede bjarke Nybegynder
19. januar 2000 - 10:01 #7
Hej moses

Tak for hjælpen. Jeg havde ikke set dit svar. Jeg mente også, at det skulle laves i VBA, men kommentaren var til cldu om scriptet.

Det jeg (også) gerne vil have er, at når f.eks. lægen logger på, så skal der automatisk starte en "læge-formular" specielt lavet til lægernes rettigheder. Meningen er at de forskellige brugergrupper (undtagen administrator) ikke skal se alt det, der ligger i access, men få direkte adgang til deres egne formularer, så de heller ikke behøver at sidde og lede efter den rigtige formular.
Avatar billede bjarke Nybegynder
19. januar 2000 - 10:07 #8
og det kunne jo laves ved at autoåbne en hjemmelavet login-form (lavet i VBA), men hvis det også kan laves med de indbyggede faciliteter i access, så vil det jo bare være fint.
Avatar billede moses Praktikant
19. januar 2000 - 10:44 #9
Ikke noget problem.
Jeg har altid en lille form, der kommer frem og siger "vent lidt". Den beroliger brugeren indtil alt det tunge er hentet frem; Og så henter den samtidig den form, som der skal bruges til denne bruger:

Formens OnOpen event:

select case LCase(CurrentUser)
case "læge"
  DoCmd.OpenForm "Lægens bord Form"
case "tekniker"
  DoCmd.OpenForm "Specialindstillinger Form"
case "patient"
  DoCmd.OpenForm "Egen journaler Form"
end select
Avatar billede bjarke Nybegynder
19. januar 2000 - 13:05 #10
Tak, jeg kigger lige på det.
Avatar billede bjarke Nybegynder
19. januar 2000 - 13:43 #11
Hmmmm. Jeg forstår ikke helt det med brugere og grupper.

Jeg opretter en bruger (læge) i gruppen "Bruger" og giver ham tilladelse til at se formen "FormLæge". Problemet er, at jeg ikke kan finde ud af at tildele brugeren et password. Derudover bliver alle brugere ved med at kunne gøre alt.

Hvad er det jeg mangler?
Avatar billede moses Praktikant
19. januar 2000 - 15:22 #12
Du skal lige sørge for, at der kommer et dialogboks op, når du starter Access databasen. Ellers er der ikke nogen bruger aktiveret, men blot en enkelt administrator !!

Inde under bruger/gruppe oprettelses menuen, er der en menu, hvor du tildeler de enkelte adgang til Tabeller, Queries, forms osv.
Der skal du udelukkende give de enkelte brugere adgang (f.eks. lægen).
De, der log'er på, som teknikker vil så ikke have adgang til de komponenter, som du kun har givet lægen adgang til ?!?!?

Avatar billede bjarke Nybegynder
19. januar 2000 - 15:56 #13
Det mener jeg, at jeg har gjort. Jeg kan også logge på med de forskellige brugere (den er god nok kan jeg se med "MsgBox CurrentUser"). Jeg har også tildelt nogle rettigheder til lægen, men sygeplejersken kan uden at have rettigheder stadig logge ind og oprette og slette hvad som helst....

Håber, at du kan hjælpe.
Avatar billede moses Praktikant
20. januar 2000 - 08:13 #14
Det kræver lidt mere viden om opsætninge:

Den gruppe, der hedder admin skal du give et password og gemme det langt ned i din egen lomme. Der må ingen brugere være på den.
De to brugere (læge og sygeplejerske) er de i samme gruppe (Ud over USER, som alle er tvunget medlem af !!)?
Har du evt. tildelt denne gruppe nogen rettigheder?

Kontrolmulighed:
Gå ind og check, hvilke(n) gruppe(r) de to brugere er i og check disse gruppers rettigheder.
Check dernæst begge brugeres rettigheder.

Access tildeler automatisk rettigheder til gruppen USER. Deraf kan sygeplejersken måske få adgang. Rettigheder udelukker ikke hinanden, men summerer sig, så bare der ét sted står at adgang er ok, så er det gældende.

Den automatiske tildeling kan du rette i, ved at redigere rettigheder for det øverste punkt i TABEL/QUERY/FORM ... listen under rettigheder.
Her står der f.eks. <New TABELS>. De rettigheder du skriver ind der, vil være gældende for en ny tabel du opretter.

Avatar billede bjarke Nybegynder
20. januar 2000 - 10:25 #15
Mange tak skal du have moses

Nu må du hellere få dine retteligt fortjente points. Jeg kan bare ikke forstå, at hvis jeg logger på som sygeplejerske selv kan redigere mine rettigheder?

Det var i øvrigt det med grupperne (som sygeplejersken var en del af) som havde fået nogle rettigheder de ikke skulle have haft.

Jeg opretter lige et spørgsmål mere.... :-)
Avatar billede region Nybegynder
28. januar 2000 - 12:21 #16
hov!!!!!

åbn access.
vælg "åbn" i menuen filer.
vælg din database og marker ligeledes "åbn med udelt adgang".
du kan nu tildele redigere osv.
næste gang du åbner den normalt vil det virke med rettigheder tildelt de enkelte brugere. problemet er at hvis du ikke gør dette vil du være logget på som adm.
Avatar billede bjarke Nybegynder
28. januar 2000 - 13:37 #17
Takker, MEN....

Det virkede, men da jeg sad og arbejde med det på DTU kunne ingen andre pludselig komme ind i deres accessdatabaser! Hvorfor virker mine brugerrettigheder ikke kun på min egen database?
Avatar billede region Nybegynder
28. januar 2000 - 13:45 #18
fordi oplysningernbe ligger sig ned i system.mdw.

reset evt. med denne "rene" mdw fil.

Øhhh...hvordan vedhæfter jeg en fil..???

Avatar billede moses Praktikant
28. januar 2000 - 13:46 #19
Åhh ja.....
Du skal lige se på, hvordan Access arbejder med rettigheder:

Når du logger på Access, vil den default bruge SYSTEM.MDW, som opslag, hvor alle brugere og passwords ligger.

Hvis du i selve short Cut'en tilføjer parametren:
"/WRKGRP F:\foldernavn\Accessbrugere.mdw"

Så vil den arbejde ud fra den fil.

Det du var ude for var, at du lavede om på rettighederne i defaultrettighederne, så dem, som slet ikke skulle bruge dit system, men måske bare skulle lave lidt selv, også var underlagt dine rettigheder.

Du kan 3 ting:
1. Bruge default rettighederne, så alle rettigheder gælder alle, der har standard opsætning.
2. Opsætte din maskines Access til at benytte en anden mdw fil og dermed have sine egne rettigheder.
3. Oprette shortcut's til dine programmer, hvor du angiver, hvilken mdw fil Access skal benytte med disse programmer. (Fordelen herved er: Hvis brugerne starter deres egne Access programmer, vil deres Access benytte default mdw-filen.)

Capice ??
Avatar billede bjarke Nybegynder
28. januar 2000 - 14:11 #20
Tak skal I have.

Jeg havde kopieret system.mdw til arbejdsbiblioteket, men det er måske ligegyldigt hvis den ikke er specificeret som parameter?

region << jeg tror, at jeg starter med at afprøve moses' forslag :-)
Avatar billede region Nybegynder
28. januar 2000 - 14:16 #21
det ville jeg også gøre...måske kunne i lige kort fortælle mig hvordn man vedhæfter en fil her.!!!

Jeg er en novice i dette forum
Avatar billede bjarke Nybegynder
28. januar 2000 - 14:46 #22
Du vedhæfter IKKE nogen fil :-)

Til gengæld beder du om en email-adresse, hvis du vil sende noget. Mange af os har skrevet lidt om os selv på "vores" mini-site her på eksperten - der kan du også prøve at kigge (skriv navnet i søgefeltet for at finde personen).
Avatar billede bjarke Nybegynder
28. januar 2000 - 14:48 #23
Avatar billede region Nybegynder
28. januar 2000 - 14:55 #24
tak
Avatar billede bjarke Nybegynder
28. januar 2000 - 15:09 #25
Velbekomme :-)
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