Formulier met selectie op veld in tabel

Status
Niet open voor verdere reacties.

spw

Gebruiker
Lid geworden
18 nov 2016
Berichten
83
Hoi,

Wanneer je in een formulier klikt op een bepaalde 'docmd' knop worden er een aantal query's uitgevoerd.
Vb Q1, Q2, Q3 en Q4

Q4 = tabelmaakquery en maakt tabel T4 met verschillende velden waaronder veld TOTAAL
De tabel kan maar 1 record bevatten.
Het veld [TOTAAL] kan negatieve en positieve waarden bevatten vb -1 of -10 of 2 of 33 ed

Is het mogelijk dat wanneer het veld [TOTAAL] in tabel T4 een waarde heeft >= 0 dat dan vb query 6 wordt uitgevoerd en anders query 7 ?


vb

KNOP [AANPASSEN] klikken in formulier (start onderstaande query's op) (onderstaand is VBA code)
1) Q1 (docmd.openquery "Q1")
2) Q2
3) Q3
4) Q4

En nu zou er een stuk code moeten komen in de stijl van :

if
![T4]![TOTAAL].value >= 0 then
docmd.openquery "query 6"
else
docmd.openquery "query 7"
end if

Wat ik wel weet is als je het veld [TOTAAL] plaatst op het formulier met de eigenschap 'niet zichtbaar' dan kan je me!totaal >=0 then ... .else .... gebruiken.
Maar het formulier is niet gebaseerd op de tabel waar het veld TOTAAL in zit.

Alvast bedankt.
 
Het riekt naar een heel ingewikkelde constructie, maar laat ik er voor het gemak maar even van uit gaan dat het niet slimmer kan. En dat je dus een query Q4 nodig hebt die een totaal record maakt. Mij lijkt die tabel namelijk wel degelijk overbodig, omdat de gegevens van die tabelmaak query ook gewoon als selectiequery gebruikt kan worden, en dus op je formulier getoond. En als het een selectiequery is, kun je het (berekende) veld Totaal weer gebruiken in de IF THEN ELSE constructie om Q6 of Q7 te starten. Maar wellicht denk ik veel te simpel...
 
Het is idd niet zo gemakkelijk om uit te leggen. Het is ook zo omdat er gegevens komen van het ERP systeem ed.
Maar het formulier is gebouwd op vb tabel 37.
Dus op welke manier kan ik er dan voor zorgen dat ik weet welke query ik moet gebruiken ?
Want "als selectiequery gebruikt kan worden, en dus op je formulier getoond. En als het een selectiequery is, ........" begrijp ik niet.

Alvast bedankt.
 
Doe er vooral een voorbeeldje bij, want jouw uitleg heeft mij dan weer niet veel verder geholpen.
 
Hoi Octafish,

Is moeilijk om voorbeeld bij te steken want is grote database.

Je moet je het volgende voorstellen :

Formulier is gemaakt obv een tabel. Vb tabel Orders
Op het formulier heb je een datumveld.
Je kan de datum wijzigen.
Bij de eigenschap "na bijwerken" worden er een aantal query's uitgevoerd;
Vb docmd.openquery "Q1"
Q2, Q3 en Q4
Q4 is een tabelmaakquery. Deze tabel bevat een veld [status].
De waarde van het veld [status] kan negatief of positieve waarde bevatten.
(is een berekend veld). Dus -10 of +1
En afhankelijk van deze waarde wordt er een query opgestart.
Als de waarde negatief is vb Q5. Bij positieve waarde Q6.
Dus in VBA iets in de Stijl van if [q4].[status] < 0 then Q5 else Q6.

Hopelijk dat het nu duidelijk is en er ook een oplossing is.

Wat ik wel weet is dat wanneer je een veld als onzichtbaar veld op het formulier plaatst van tabel [orders] kan je wel een selectie maken van if me.veld < 0 then else .....
Maar het formulier is niet gebaseerd op tabel Q4

Alvast bedankt.
 
Laatst bewerkt:
Heb je dit probleem al opgelost? Ik moet met een lichte blos bekennen dat ik de vraag 'even' uit het oog ben verloren :).
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan