21. maj 2001 - 12:35Der er
4 kommentarer og 1 løsning
Logon USER NAME og Form kontrol
Jeg bruger Access 2000 og vil gerne kunne sammenligne logon USER NAME med indtastede navne i en records. Herefter må logon user\'en kun kunne rette / oprette records (i en form) hvor logon USER NAME og det indtastede navn matcher hinanden.
Er der nogen som har en løsning på dette ( Kode eller hints)
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Du får brugernavn ved at sprøge på: Currentuser (hvis du altså benytter Access\' egen sikkerhed!) Hvis du selv har lavet din egen Logon-form, hvor brugeren logger på, så må du gemme brugernavnet et sted, hvor du kan fange den til hver en tid. Det kan f.eks. være i en public variabel.
På din data-formular, hvor du ønsker at styre rettighederne, kan du på \"Ved Aktuel\"-hændelsen (On Current) sammenligne om brugeren er den samme som står i posten. F.eks. således:
Private sub Form_Current() If Me!UserID = CurrentUser then Me.Allowedit = true else me.Allowedit = false end if end sub
På formens \"indlæsning\"-hændelse kan du så sætte UserID\'s standardværdi til at være CurrentUser, således at nye poster altid bliver registreret som oprettet af den aktuelle bruger.
Private Sub Form_Load() Me!UserID.DefaultValue = Currentuser end sub
Det er lidt af det rigtige som du er inde på, da jeg bruger Acceses egen Logon, men jeg skal også bruge de andre oplysninger som jeg har sammen med UserNavn.
F.eks jeg har allerede indtastet følgende i en form1 som bliver til følgende tabel design UserID (autonummer) UserName (Text) FirstName (Text) LastName (Text) osv.
i en anden f.eks form2 vil jeg så have at en Combo Box, List Box eller Text Box skal SELECT UserName udfra CurrentUser (UserName skal være lig CurrentUser), herefter skal tilhørende FirstName, LastName osv. recordes sammen i en ny tabel.
P.S Jeg forstår ikke helt din \"indlæsning\"-hændelse og \"Ved Aktuel\"-hændelsen (On Current) Jeg har en engelsk version af Access 2000 og kan ikke finde noget som hedder \"On Current\" (kun \"On Click\", \"on DblClick\" etc. hvor jeg kan lave en [Event Procedure]. Som du nok har regnet ud befinder jeg mig inde i Combo Box\'ens Propertiers - måske leder jeg et helt forkert sted ?
Tak for tippet :-) Det lysner så her er lidt point, jeg kan dog ikke helt få det til at virke da den ikke kan finde UserID of ikke accepterer Allowedit
Har du lavet UserID til en global (public) variabel? Den skal ligge i starten af et modul og skrives således:
Public UserID as Long
Mht AllowEdit, så hedder den Me.AllowEdits (med S på) - sorry. Man er blevet så vandt til at Access selv udfylder kommandoerne mens man skriver, at man ikke længere kan huske hvad de hedder, når man skal skrive dem uden for VBA-editoren :-(
/Thomas
Synes godt om
Ny brugerNybegynder
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.