Hej Jeg bruger access 2010. Jeg har lavet en login via en combobox således at navne og password ligger i en tabel "tblUser". Hver bruger har således forskellige rettigheder i databasen. I forbindelse med viderebehandling af posterne har jeg brug for at den person, som er logget på skal kvitterer forskellige poster baseret på en forespørgsel. Her vil jeg gerne have at, f.eks. bogholderen, kvitterer ved at sætte flueben ud for den pågældende post og at hans login navn herefter automatisk indsættes i tabellen i en kolonne der hedder "godkendt". Han har jo allerede valgt navnet da han loggede på - så det må være muligt at "huske" dette navn fra valget i comboboxen. Jeg kan ikke finde ud af hvordan jeg gemmer/husker valget fra login comboboxen til senere brug (når der logges ud skal valget naturligvis ikke længere huskes).
Med kunstig intelligens skaber HP’s nye OmniBook X 14 en unik og skræddersyet brugeroplevelse målrettet dem, der ønsker høj ydeevne og intelligente funktioner
Nej det er netop ikke samme formular. Når f.eks. bogholderen "Jens Jensen" har logget på med valget af hans navn i Comboboxen i login formularen, kommer han ind i det område af databasen hvor han har ret til at arbejde. Her vil han på et givet tidspunkt skulle godkende diverse poster ved af sætte flueben. Det er på dette tidspunkt hans navn automatisk skal indsættes.
Jeg kender ikke den nødvendige kode men i "logisk sprog" kunne de se således ud:
Ved Login: ved valg (klik?) af navn (Jens Jensen) i comboboks sættes NAVN = Jens Jensen.
Sener: Ved klik (flueben) indsættes Jens Jensen i feltet "godkendt af": f.eks. "Ved klik: Godkendt af = NAVN"
Så er løsningen lidt anderledes: Når valget er foretaget, skal det gemmes i registreringsdatabasen og når det skal bruges igen læses det herfra. På comboboxens AfterUpdate event laver du en SaveSettings statement, fx SaveSetting "Databasenavn","Godkendt","Bruger", Me.combobox
og på fluebensfeltets AfterUpdate event laver du en getsetting statement, fx: Me.Navnefelt = GetSetting "Databasenavn","Godkendt,"Bruger"
"Databasenavn" erstatter du med navnet på din database.
Jeg tror vi er inde på noget af det rigtige, men jeg kan stadig ikke få det til at fungerer. Du får lige lidt flere informationer: Min combobox til login hedder cboUser og den henter navnene fra en tabel, der hedder tblUser. I tabellen tblUser ligger alle navne som kan logge på i en kolonne, der hedder Lname.
Tabellen hvor navnet fra login skal bruges hedder tblInvoice og kolonnen hvor navnet skal indsættes i hedder Name. Jeg har lavet en formular til dette, hvor forskellige koloner fra tabellen tblInvoice fremgår - sammen med en checkbox (flueben).
Jeg antager, at formularen indeholder cboUser, feltet Name samt checkbox (flueben). Formularfeltet Name har tblInvoice.Name som kontrolelementkilde. Checkbox (flueben) bør også have en kolonne i tblInvoice (et felt af typen Ja/Nej) som kontrolelementkilde.
Jeg antager, at brugeren vælger et (sit eget) navn på listen i comboboxen.
På comboboxen på formularen kan du, på hændelsen Efter Opdatering / After Update - afhængig af hvilket sprog din Access er - placere ovenstående SaveSetting kode. Denne kode vil gemme det valgte navn i registreringsdatabasen på den maskine der arbejdes på.
Du placerer ligeledes ovenstående GetSetting kode i checkboxens Efter Opdatering / After Update hændelse. Den skal så lyde således: Me.Name = GetSetting "Databasenavn","Godkendt","Bruger"
På denne måde kan flere brugere arbejde samtidigt uden at genere hinanden - bare de ikke arbejder i samme faktura samtidigt.
Det kan være hensigtsmæssigt, måske nødvendigt, at ændre kolonnenavnet til noget anden end "Name" - som er et reserveret ord i Access.
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.