Toon posts:

[ACCES] formulier invoer in gebruiken in query

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo...

Ik heb een vraagje:
Is het mogelijk om met een formulier waardes in een query te zetten die hij normaal gesproken met een popup venstertje zou vragen?
Ik heb namelijk in 1 query best veel vragen zitten en om die nou elke keer achter elkaar met een popup venstertje te laten vragen vind ik een beetje jammer.
Dus ik zou eigenlijk een manier om alle waardes in te vullen in bijvoorbeeld een formulier en dan gewoon drukken op een knop ofzo die de query start met de ingevulde gegevens...

Ik kan hier nergens wat over vindeb en eigenlijk weet ik ook niet precies waar ik naar moet zoeken...

  • BM
  • Registratie: September 2001
  • Laatst online: 30-08 07:33

BM

Admin Softe Goederen
Ja, dat kan.

[naam_van_form]![naam_van_veld_met_data] zou gewoon moeten werken als je dat in de criteria zet.

Xbox
Even the dark has a silver lining


Verwijderd

Topicstarter
Nee, dit werkt niet...
Als ik dan bij de query
dit invul:
Afbeeldingslocatie: http://www.tbs-tuning.nl/tbs-site/criteria.JPG
en bij het formulier
het volgende invul
Afbeeldingslocatie: http://www.tbs-tuning.nl/tbs-site/tekstvlak.JPG
(maar dan bij naam test, die steeds terug verandert als ik dat venstertje afsluit :? )
Dan krijg ik nog steeds dit schermpje
Afbeeldingslocatie: http://www.tbs-tuning.nl/tbs-site/query.JPG

Wat doe ik fout?

Verwijderd

Je hebt Form1 met tekstveld Text1 en knop Button1, waarmee je de betreffende query opent (zie button-wizzard).
Query1 bevat nu geen parameter meer! Bekijk eigenschap van Query1. Maar in de Criteria staat dan = [Form1]![Text1]

Werkt niet! Het moet [Forms].[Form1]![Text1] zijn.

[ Voor 11% gewijzigd door Verwijderd op 30-05-2004 14:15 ]


Verwijderd

Topicstarter
Hij pakt niet ik invul, de uitvoer vande query is leeg.
maar als ik de query zonder formulier open en zet er een postcode in die wel klopt dan doet ie het wel, dus ik denk dat er iets fout gaat in het formulier...
Misschien de knop???

Ik heb hem gemaakt op de volgende manier:

in de wizard heb ik gekozen voor 'overige' en daarna voor 'query uitvoeren'
Toen de desbetreffende query erbij gezocht en voltooien gedaan...
Dit klopt toch gewoon?

edit: domme fout, tekst is niet gelijk aan text

[ Voor 9% gewijzigd door Verwijderd op 30-05-2004 15:48 ]


Verwijderd

Topicstarter
OK, nog een vraag over ongeveer hetzelfde onderwerp.
Ik heb nu dat formuliertje aangemaakt en werkt prima...
Maar als ik bij 1 vak niks invul dan vind ie nix meer, dus ik wil ook ervoor zorgen dat als ik nix invul in die vakken dat ie die lege waardes ook niet meeneemt in de query, is daar iets voor ?

  • Boss
  • Registratie: September 1999
  • Laatst online: 21:50

Boss

+1 Overgewaardeerd

Je kan beter gewoon aan de hand van de velden op je formulier een complete SQL string laten samenstellen en die in de query kopiëren.

Dus
code:
1
CurrentDb.Querydefs("qryTest").SQL = "SELECT * FROM bla bla et."

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


Verwijderd

Topicstarter
maar hij haalt ze waardes uit meerdere tabellen die met relaties aan elkaar gekoppelt zijn...

Verwijderd

Zoals Boss aangeeft is het 't handigst. Als je je query aan het ontwerpen bent, kan je de SQL-tekst tonen en deze kopieren en vervolgens in je programma plakken. Bijvoorbeeld: strSQL = "<SQL-tekst plakken>"
Dan hak je de tekst op in stukken, "SELECT ... FROM .... WHERE " en de conditie voeg je eventueel toe, bijvoorbeeld:
If Nz(Text1) <> "" Then strSQL = strSQL & "kolom1 = " & CStr([Text1]) & " AND "
If Nz(Text2) <> "" Then strSQL = strSQL & "kolom2 = '" & CStr([Text2]) & "' AND "
enzovoort
kolom2 is een tekst-veld! en de laatste " AND " er af halen!

Verwijderd

Topicstarter
het hoeft niet naar een programma, het blijft in acces zelf.
alleen de query moet goed uitgevoert worden, ik ben er nu al 2 dagen mee bezig en ik kom er niet uit...

Het is een opdracht voor school...

Verwijderd

Indien de te vragen gegevens alleen selectie criteria betreffen, dan kan je de query opstellen zonder de selectie criteria. Vervolgens kan je in de button-click procedure bij de OpenQuery methode als parameter het selectie criterium toevoegen, opgebouwd/samengesteld a.h.v. de op de Form al dan niet ingevulde selectie gegevens. Er is hierover al een eerder topic geweest.
Met programma bedoel ik de VBA code regels die je in gebeurtenis procedures en modules schrijft. Deze maken onderdeel uit van de Access-toepassing.
Pagina: 1