Avatar billede joggeren Nybegynder
05. februar 2004 - 09:09 Der er 18 kommentarer og
4 løsninger

Forespørgsel skal hente kriterier fra underformular

Har en underformular, hvor jeg har en knap som åbner en anden formular. Den nye formular skal hente kriterierne fra den foregående underformular. Hvad skal jeg skrive i kriterierne i forespørgsel...

Den "normale" tekst virker ikke:

[Forms]![xxx].[xxx]
05. februar 2004 - 09:28 #1
Forms!xxx!Underxxx!felt
05. februar 2004 - 09:31 #2
Men hvis du f.eks. har en knap på hovedformularen, som skal åbne en ny formular efter kriterier på underformularen, kunne koden se således ud (hvis datatypen er tal):

Docmd.Openform "YYY",,,"Ditfelt = " & Me!Underxxx!Felt

Hvis datatypen er tekst, ser den således ud:
Docmd.Openform "YYY",,,"Ditfelt = '" & Me!Underxxx!Felt & "'"
Avatar billede joggeren Nybegynder
05. februar 2004 - 09:32 #3
[Forms]![underlagergarn].[betegnelse]

virker ikke.. men er vel også forkert lavet...
Avatar billede joggeren Nybegynder
05. februar 2004 - 09:33 #4
Jeg har en formular med en undeformular. Det er inde i den formular knappen sender. Selve "koden" ligger jeg inde i en forespørgsel... da jeg ikke lige er så fortrolig med Access.
Avatar billede hubs Nybegynder
05. februar 2004 - 10:06 #5
Hej Jesper, er det Garn-Databasen der driller igen? :o)
Avatar billede mugs Novice
05. februar 2004 - 10:17 #6
Indsættes i en kommandoknap i formularen:

DoCmd.OpenForm "FORMULAREN DU VIL ÅBNE", , , "FELTET I DIN FORMULAR = " & Me.NAVNET PÅ DIN UNDERFORMULAR!NAVNET PÅ DIT FELT I UNDERFORMULAREN
Avatar billede bbkdk Seniormester
05. februar 2004 - 10:18 #7
Allerførst - jeg anvender opså for det meste forespørgsler, da jeg heller ikke er 100% inde i VBA-sproget.
Knappen der skal åbne formularen kan lægges på hovedformularen (kan den ovehovedet lægges på underformularen?)
Problemet er så, at knappen ikke ved, hvilken post i underformularen der skal søges på.
Problemet løses ved at lægge et felt ind på hovedformularen, der tager værdien fra den markerede post i underformularen.Feltet skal naturligvis skjules i formularvisning.
Det er så dette felt i hovedformularen, der skal anvendes i kriteriet i forespørgslen.
Avatar billede joggeren Nybegynder
05. februar 2004 - 10:43 #8
Ja... hubs.. har endelig for lidt tid til at arbejde videre på den..

mht til mugs har jeg lavet denne sætning:

DoCmd.OpenForm "flytlager", , , "fort nummer = " & Me.garnlager!fort nummer

mene.. den melder syntaksfejl

Flytlager er den nye formular der skal åbnes.
Fort nummer er felter i formularen lagergarn, som identificerer den post der skal bruges.
Underformularen hedder lagergarn, som ligger i formularen behovgarn1.

Kan man lave en sætning ud fra disse oplysninger?
Avatar billede overchord Nybegynder
05. februar 2004 - 10:47 #9
hvis du har mellemrum i navne paa felter/objekter saa skal de som regl "indkapsles" med []. Dvs at dit felt fort nummer skal skrives som [fort nummer]
05. februar 2004 - 11:03 #10
Joggeren->Det kan vare dit Underformular-navn, som driller (det er det oftest, når man ikke kan få det til at virke). Navnet skal være navnet på selve underformular-objektet. Du finder det ved at åbne hovedformularen i design og derefter klikke ÉN gang på underformularen. Den værdi, som står i egenskaben Navn er den værdi som der skal bruges i referencen.

Et par generelle betragtninger:
Brug altid udråbstegn (!) før et object. Brug kun punktum (.) foran egenkaber eller metoder.
Og selvfølgelig som Overchord nævner: Hvis der er mellemrum (eller specialtegn) i et navn SKAL der være kantede parenteser omkring [].

Derved kommer din kode til at se således ud (hvis Garnlager er det rigtige navn på underformularen, og [Fort nummer] er et nummerisk felt):
DoCmd.OpenForm "flytlager", , , "[fort nummer] = " & Me!garnlager![fort nummer]
Avatar billede joggeren Nybegynder
05. februar 2004 - 11:10 #11
Melder fejl..Kørselsfejl "2465" kan ikke finde feltet "lagergarn" - ikke garnlager som jeg skrev forkert tidligere.

lagergarn er som bekendt underformuaren som er åben i behovgarn1
05. februar 2004 - 11:12 #12
Prøvede du at kigge på egenskaben NAVN på underformular-objektet? Når den siger at den ikke kan finde "Lagergarn" er det givet fordi underformularen hedder noget andet.
Avatar billede joggeren Nybegynder
05. februar 2004 - 11:15 #13
Den har navn: lagergarn
Kildeobjekt: lagergarn
05. februar 2004 - 11:35 #14
Det lyder mystisk! Hvis du zipper den og sender den til mig, så vil jeg gerne lige kigge på det.

/Thomas
Avatar billede hubs Nybegynder
05. februar 2004 - 11:38 #15
Nogen gange hjælper det at medtage hovedformularen, så prøv evt med:

"[fort nummer] = " & Me!behovgarn1!lagergarn![fort nummer]
05. februar 2004 - 11:42 #16
hubs->det må da give fejl!!! Du har jo ikke noget objekt, som hedder Behovgarn1.
(har dog aldrig prøvet den syntaks!)

Men Joggeren, du kunne godt prøve med:
DoCmd.OpenForm "flytlager", , , "[fort nummer] = " & Forms!Behovgarn1!lagergarn![fort nummer]
Avatar billede joggeren Nybegynder
05. februar 2004 - 11:47 #17
Sendt.. det sidste forslag virkede ikke..
Avatar billede hubs Nybegynder
05. februar 2004 - 11:52 #18
thomas>> Hmm, ja det har du egentlig ret i.

Jeg havde engang et ligende problem med at få overført noget data fra en underformular til en anden formular, hvor den også 'påstod' at den ikke kunne finde min underformular, men det hjalp da jeg gav den fulde 'sti' altså med Forms!hovedformular!underformular!data... Har egentlig aldrig spekuleret over hvorfor det pludselig virkede... :o)
05. februar 2004 - 12:08 #19
Jeg har modtaget databasen og kan se, at din knap jo ligger på underformularen!! Derfor skal din reference IKKE inkludere underformularen.
Du skal bare refererer til det objekt, som du står på:

DoCmd.OpenForm "flytlager", , , "[fort nummer] = " & Me![fort nummer]
05. februar 2004 - 12:17 #20
Jeg opdagede også lige, at du slet ikke har en formular, som hedder "Flytlager"...det giver selvfølgelig også en fejl :o)
Avatar billede joggeren Nybegynder
05. februar 2004 - 12:52 #21
Nå åbner den rigtig nok... dog problemer med linket.. dvs. referencen mellem formularen... fort nummer... tjekker lige om det er mig der klokker i det.. det er det nok..
Avatar billede joggeren Nybegynder
05. februar 2004 - 12:57 #22
Nu er det ved at være der...

Det virker dog kun "første" gang... dvs jeg skal op og markere i hovedformularen hver gang... hvis jeg klikker på forskellige poster i underformularen, kan den ikke finde nogen poster. Virker kun hvis jeg først lige marker posterne i formularen.
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