Avatar billede saxe_bratlie Nybegynder
27. april 2004 - 18:22 Der er 23 kommentarer og
2 løsninger

Begrenset vilkår eller vis alle poster i en spørring

Jeg har et system som begrenser informasjons tilgangen til de som logger seg på databasen. Dette har jeg gjort via et vilkårs utrykk i spørringene rundt om i databasen, som sier:

[forms]![login]![ansatt ID]

[Login] er det skjema som ligger i bakgrunnen.
Vilkåret er lagt under [ansatt id] i spørringen.

Men hva med Admin som skal ha tilgang til alle postene i databasen ??

La oss si at de med Admintilgang har [ansatt id]= 3 og 4

Hvordan kan jeg formulere spørrings utrykket slik at feks de med [ansatt ID]= 3 og 4 kan få tilgang til alt, men resten har begrenset tilgang.

Hjelp, jeg har dårlig tid.

/ bratlie
Avatar billede jorgen_c Nybegynder
27. april 2004 - 19:14 #1
I din spørring skriver du:
    where ansatID like hentID( [forms]![login]![ansatt ID] )

og i et module:

Function hentID(id)
    if adminMode then   
        hentID = "*"
    else
        hentID = id
    endif
End Function

Håber det kan bruges
Avatar billede terry Ekspert
27. april 2004 - 19:15 #2
A simple method is to have a global variable in a module (function) this is used
You could start by having another field in your ansat table. The field is a Yes/No value and name the field (for example) IsAdmin with a default value = 0.
This field can for example be set to Yes if the user is Admin.

Then when the user logges on you can get the value of this field and set a global variable so that you can test this value instead of the ansatt id
Avatar billede terry Ekspert
27. april 2004 - 19:16 #3
remove first line "A simple method is to have a global variable in a module (function) this is used"
Avatar billede sjap Praktikant
27. april 2004 - 19:22 #4
I felt skriver du et udtryk som f.eks.

iif([forms]![login]![ansatt ID]>4;[AnsattID];[forms]![login]![ansatt ID])

Dette felt vil dermed få værdien fra [AnsattID] eller være 3 eller 4. I kriteriefeltet skal der så stadig stå

[forms]![login]![ansatt ID]

Ovenstående forudsætter at du har en [AnsattID] i den tabel hvor du foretager sammenligningen.
Avatar billede sjap Praktikant
27. april 2004 - 19:31 #5
De andre forslag er nok lidt mere elegante, men med mit forslag slipper du for VBA :-)
Avatar billede terry Ekspert
27. april 2004 - 19:31 #6
its not wise to directly program ansatID into an application, what if others are employed?
Avatar billede sjap Praktikant
27. april 2004 - 19:45 #7
Terry
Det har du da ret i, men det var jo sådan problemet blev beskrevet. Der kan selvfølglig laves metoder til dynamisk at håndtere hvilke AnsattId'er, der har administrationsrettigheder (det er vist det længste ord, jeg har brugt i denne uge), men det ville jeg afvente spørgerens respons på de svar han allerede ar fået.
Avatar billede terry Ekspert
27. april 2004 - 19:47 #8
Hi superjap, yes but I think its nice to make the user aware of the problems which can occur, but in the end its the customer who decides :o)
Avatar billede sjap Praktikant
27. april 2004 - 19:58 #9
Terry -> Can't argue with that!
Avatar billede saxe_bratlie Nybegynder
27. april 2004 - 20:28 #10
Superjap har helt rett, jeg kan ikke VBA språket i det hele tatt. På tide å lære seg tenker jeg, men har ikke tid om dagen.

Superjap:

Når jeg prøver å sette strengen:

iif([forms]![login]![ansatt ID]=3;[AnsattID];[forms]![login]![ansatt ID])

inn i et spørringsfelt, med tilhørende [forms]![login]![ansatt ID]
som vilkår under samme felt, viser den alle postene uavhengig hvem som logger seg på.

Jeg har feltet [ansatt id] i spørringen, og den ligger også i bakgrunnen i login skjemaet.

Hva har gått galt...?? den returnerer jo alle postene !???
Avatar billede saxe_bratlie Nybegynder
27. april 2004 - 20:52 #11
Beklager !!! Dette fungerer perfekt nå, bare jeg som rotet litt. Tusen takk for hjelpen !!!

Kan du vise hvordan man feks har kun 3 og 4 og ingen >< teg inne i strengen...?

Jeg prøvde følgende:

iif([forms]![login]![ansatt ID]=3 or 4;[AnsattID];[forms]![login]![ansatt ID])

Men det gikk galt !!
Avatar billede terry Ekspert
27. april 2004 - 20:59 #12
should superjap also have some points? I'll give him some if you think so!
Avatar billede terry Ekspert
27. april 2004 - 20:59 #13
is 5 enough :o)
Avatar billede saxe_bratlie Nybegynder
27. april 2004 - 21:05 #14
Tror jeg kun fikk valget mellom Terry og jorgen_c når jeg skulle gi poeng. Det er vel svar som gir poeng, ikke kommentarer, selv om komentaren til superjap var avgjørende.

Terry: Give him what he deserves.... !!

/ Bratlie :-)
Avatar billede terry Ekspert
27. april 2004 - 21:07 #15
do you still have problems with your iif?
Avatar billede terry Ekspert
27. april 2004 - 21:08 #16
try
iif([forms]![login]![ansatt ID]=3;[AnsattID];iif([forms]![login]![ansatt ID]=4;[AnsattID];[forms]![login]![ansatt ID]))
Avatar billede saxe_bratlie Nybegynder
27. april 2004 - 21:10 #17
Not with this problem, it`s working fine, but the other problem with the counting fields ( date fields ) we talked about before ( 2 weeks ago ) is still a pain in the ass !!

Im not lying if i tell you i have been sitting with that problem 10 to 15 huors !!

/ Bratlie
Avatar billede terry Ekspert
27. april 2004 - 21:12 #18
Only 10 to 15 hours? if it was days then I would think it a problem :o)

do you have a link?
Avatar billede sjap Praktikant
27. april 2004 - 21:14 #19
Hmm. Jeg valgte åbenbart det forkerte tidspunkt at drikke kaffe på. Men så er det godt at andre kan klare problemerne undervejs. :-)
Avatar billede saxe_bratlie Nybegynder
27. april 2004 - 21:15 #20
He he...! Ok then, i mean 10 to 15 days.

Waht do you mean about "link" ??
Avatar billede terry Ekspert
27. april 2004 - 21:15 #21
I've placed a question with some points superjap.
Avatar billede terry Ekspert
27. april 2004 - 21:16 #22
link >reference to the question! I've forgotten which one you are refering to, sorry!
Avatar billede terry Ekspert
27. april 2004 - 21:25 #23
Bratlie> If you can give me a reference to a question, or send a mail then I will look at it tomorrow, but now I'm off to see some TV.

Night all :o)
Avatar billede saxe_bratlie Nybegynder
27. april 2004 - 22:01 #24
Here is the link:

http://eksperten.dk/spm/486738

I did send you my problem ( an dummy database, with the problem [til terry new ] ) pr mail, and you fixed it, but when i tryed to konvert the string you made, into the reel database, it did not work. I will be gone on a business trip til Monday.

/ Bratlie
Avatar billede terry Ekspert
28. april 2004 - 20:42 #25
I have sent you a mail Bratlie!
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