27. oktober 2004 - 13:22Der er
13 kommentarer og 1 løsning
En makro der enten starter makro a eller makro b
Hej alle Jeg er ved at lære access og er i gang med en lille database. Jeg et pt. stoppet af et problem jeg ikke kan løse selv. Er der nogle der kan hjælpe mig ?
I min datatabel er et felt som enten har værdien "a" eller "b". Jeg har brug for en makro der først checker værdien (a eller b) og derefter starter enten "makro a" eller "makro b". Forstået således at hvis værdien er "a" i tabellen skal makroen starte "makro a".
Det ville være nemmere at lave i VBA, men du kan også gøre det i en makro.
I makrodesign går du i menuen Vis->betingelser og her skriver du et kriterie, som skal være opfyldt for at den makrhandling, som står ud for, bliver udført:
f.eks. Forms![Din formular]![Dit felt] = "a"
Nedenunder skriver du blot den modsatte: Forms![Din formular]![Dit felt] = "b"
Hej Thomas Tak for dit hurtige svar, men jeg kan ikke få det til at virke. Når jeg skriver Forms kommer til at stå: [Forms]![Tabel1]![data]="b" Forms kommer i en firkantet parentes og når makroen køres kommer der en meddelse om at den ikke kan finde tabellen (tabel1).
okay, jeg gik bare ud fra, at du havde dit data-felt på en formular. Hvis du skal kigge i en tabel, skal du bruge en anden metode.
Så skal du skrive: Dlookup("Data";"tabel1") = "a"
Så vil den slå op i første post i tabellen Tabel1. Hvis du ikke vil kigge i første post, men f.eks. vil kigge i den post, hvor primærnøglen ID = 10 skriver du: Dlookup("Data";"tabel1"; "ID =10") = "a"
Hej igen Tak skal du have - det virker. Jeg har blot ikke være god til at forklare mig, problemet er nu at der kun kommer a værdier ud (alle a værdier), da første post er en a værdi. Er det ikke muligt at kun få den aktuelle post ud ? dvs. enten en a eller b værdi alt efter hvilke post i tabel1 der skal vises.
Jeg er ikke helt med...Du står vel på en formular, når du aktiverer makroen?
Hvordan definerer du "den aktuelle post"? Har du feltet "data" på din formular? Eller hvordan identificerer du posten (hvad er primærnøgle?)
Normalt ville man have en formular, som var bundet til tabellen. Når du står på en given post, har du værdien "a" eller "b" i feltet Data. For at afgøre om der skal køres Makro a eller makro b skriver man så i betingelsen (som jeg foreslog i første svar)
Forms![Din formular]![Dit felt] = "a"
hvor "Din formular" er navnet på den formular, du arbejder på og "Dit felt" er Data-feltet.
Hej Thomas så er jeg tilbage igen. Du må undskylde at jeg er så dårlig til at forklare mig, men jeg prøver igen.
Når man i min hovedfomular laver en søgning, finder vi een post med et unik ID felt (autonummereringen). Til denne post knytter sig forskellige data bl.a. data "a" og "b". Disse data skal sammen med en række andre data vises på hver sin formular (formular a og formular b).
Hvis min søgte post har data af typen "a" skal formular a åbne når en knap aktiveres, modsat hvis min søgte post har data af typen "b" skal formular b åbne når samme knap aktiveres.
Ved at bruge (Dlookup("Data";"tabel1") = "a") og (Dlookup("Data";"tabel1") = "b") som du forslog, var det tæt på, men her åbnede kun formular a med alle poster der havde data af typen "a" og ingen af typen "b" (fordi første post i datasættet var af typen a).
Det er vigtigt at formular a og b kun viser de data der er fundet ved en søgning i hovedformularen.
Hvis du sender din mailadresse kan jeg sende en lille demodatabase der kan anskueligøre problemet, den fylder ca. 180 k.
Jeg har prøvet at bruge den anden formel som du forslår men får en fejlmeddelse at den ikke kan finde "formular a".
I værktøjskassen findes en funktion i komandoknappen der lader os bestemme hvilke data der skal vises, dvs. at det kun er de udvalgte data der vises, men som iøvrigt opfylder kriteriet. Denne funktion virker som den skal men vi får to knapper (a og b), hvis ens data er af typen "a" og vi aktivere knap b vises data i en forkert formular.
Hej igen Jeg kan ikke få det til at virke med (Forms![Din hovedformular]![Dit felt] = "a"), jeg får en fejlmeddelse at hovedformularen ikke kan findes. Jeg er nu ved at opgive, alternativet kan være at opbygge en formular der kan vise både "a" og "b" data, men her bliver mange kompromis.
Hej igen Så lykkedes det, da jeg startede helt fra bunden med at bygge en databasen op lykkedes det første gang. Det eneste problem er at hvis der er søgt på en bestemt post med datatypen "b" får jeg alle poster med datatypen "b" i min b-formular. Dette problen tror jeg kan løses med det rette where-udtryk - er der nogen der har forslag ?
Men thomasjepsen hvis du er med endu så skal du have tak for indsatsen, jeg kvittere for arbejdet med 60 p. Imidlertid skal det ikke forhindre dig i at tænke videre over problemet - løsninger modtages gerne.
Har jeg ikke det ? Beklager den smuttede Tak for at du gjorde mig opmærksom på det staticdata.
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.