Avatar billede jasman Nybegynder
17. juni 2004 - 21:32 Der er 9 kommentarer og
1 løsning

Påvirke tilføjelsesforespørgsel fra kode (runtime)

Hejsa eksperter,

jeg har lavet mig en tilføjelsesforespørgsel, og den kunne jeg godt tænke mig at angive kriterier til runtime.
Jeg vil lave en formular, hvor jeg kan angive nogle søgekriterier, som så skal påvirke hvilke records der bliver tilføjet. Kan det lade sig gøre at referere til en forespørgsel runtime i VBA-kode, og dermed påvirke søgekriterierne ?

Desuden har jeg et felt i tabellen hvor records skal tilføjes som skal indeholde brugerid.
Jeg har forgæves søgt efter et sted, hvor jeg kan angive currentuser() som værdi til feltet, men det kan man vist ikke.
I øvrigt er det vel også fair nok, da currentuser vel ikke er en SQL-funktion.

Kan man disse ting med en forespørgsel, eller skal man til at kode og bruge recordsets istedet ?

Kan nogen komme med en kodestump eller et par hints, som kan hjælpe mig lidt på vej ?

MVH

Jasman
Avatar billede mugs Novice
17. juni 2004 - 21:37 #1
Jeg kender ikke SQL-sætningen for current user. I VBA kan du bruge:

Me!FELTNAVN = Environ("Username")

Måske det kan give dig et hint til den rette vej.
Avatar billede jasman Nybegynder
17. juni 2004 - 21:39 #2
Hej Mugs.
Så kan man vel også bare:
Me!FELTNAVN = currentUser() ?

Men hvordan får jeg båret den ind i feltet på den tabel jeg føjer records til med min forespørgsel ? Det er det der er tricket ?
Avatar billede mugs Novice
17. juni 2004 - 21:40 #3
M.h.t at referere til en formular fra en forespørgsel, kan du i forespørgslen indsætte nogle kriterier:

=[Forms]![Formularnavn]![feltnavn]

Hvor [Forms] er objektsamlingen og ikke må æøndres. Øvrige parametre kan ændres til aktuelle navne.
Avatar billede jasman Nybegynder
17. juni 2004 - 21:41 #4
Nåeh ja, selvfølgelig.
Så kan jeg selvfølgelig også bare have et felt på formen som indeholder currentuser !
Avatar billede jasman Nybegynder
17. juni 2004 - 21:42 #5
Jeg prøver det lige.
Avatar billede mugs Novice
17. juni 2004 - 21:45 #6
Currentuser kan jeg ikke få til at fungere. Username er jo en windowsfunktion og Access skal hente denne fra styresystemet.
Avatar billede mugs Novice
17. juni 2004 - 21:50 #7
"Men hvordan får jeg båret den ind i feltet på den tabel jeg føjer records til med min forespørgsel ? Det er det der er tricket"

Du må nødvendigvis have et felt i din tabel der lagrer username. Herefter kan du bruge min kode kl 21:37:11 og indsætte den i dit felt i AfterUpdate:

Me!opdateret = Now
Me!Opdateretaf = Environ("Username")

feltet opdateret fortælller dig hvornår opdateringen er foretaget. Så nu har du både af hvem og hvornår en post er opdateret.
Avatar billede jasman Nybegynder
17. juni 2004 - 22:11 #8
Hej Mugs,

M.h.t. currentUser i SQL kan man i Access faktisk skrive:

SELECT tabel felt1,felt2,felt3,currentUser() as Udtryk1

Så kan man i QBE-delen (design-visning) i føj til feltet angive destinationsfeltet.
Det virker.
Fedt.

Takker mange gange.
Avatar billede mugs Novice
17. juni 2004 - 22:19 #9
Ok - Tak for point. Så har vi begge lært noget iaften, og det er da en dejlig fornemmelse :o)
Avatar billede nih Novice
17. juni 2004 - 22:19 #10
Du kan også hente Environ("Username") ind i SQL:

Select Environ("Username") as winName, felt
From tabel

Niels
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