Avatar billede fuskeren Nybegynder
27. oktober 2004 - 13:22 Der 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".
27. oktober 2004 - 13:26 #1
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"
Avatar billede fuskeren Nybegynder
27. oktober 2004 - 14:39 #2
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).

Jeg ved at jeg laver noget galt men hvad ?
27. oktober 2004 - 14:45 #3
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"
Avatar billede fuskeren Nybegynder
27. oktober 2004 - 15:46 #4
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.
27. oktober 2004 - 15:54 #5
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.
Avatar billede fuskeren Nybegynder
28. oktober 2004 - 14:06 #6
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.
28. oktober 2004 - 14:15 #7
hmm, som du beskriver det, så lyder det altså som om, at du skal bruge den anden formel:
Forms![Din formular]![Dit felt] = "a"

Her spørger du jo netop på, om der står "a" i dit felt på hovedformularen og derefter kan du åbne "formular a"

Er det ikke rigtigt antaget, at du kan visuelt se værdien af dit data-felt på hovedformularen?
Avatar billede fuskeren Nybegynder
28. oktober 2004 - 14:53 #8
Det er korekt, feltet med a og b data er med både i hovedformularen og i formular a og formular b.
Avatar billede fuskeren Nybegynder
28. oktober 2004 - 15:33 #9
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.
28. oktober 2004 - 15:37 #10
Det er ikke "Formular a", som du skal spørge på. Det er din hovedformualr:

Forms![Din hovedformular]![Dit felt] = "a"
Avatar billede fuskeren Nybegynder
28. oktober 2004 - 18:00 #11
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.
Avatar billede fuskeren Nybegynder
29. oktober 2004 - 14:41 #12
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.
Avatar billede Jørgen Kirkegaard Professor
08. november 2004 - 09:55 #13
Jamen fuskeren, så skal du da acceptere thomasjepsens svar!
Avatar billede fuskeren Nybegynder
08. november 2004 - 11:56 #14
Har jeg ikke det ?
Beklager den smuttede
Tak for at du gjorde mig opmærksom på det staticdata.
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