05. februar 2004 - 09:09Der 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...
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
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):
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.
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.
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.
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]
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.
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)
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å:
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..
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.
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.