Toon posts:

[acces] Parameterquery

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een probleem in accesXP waar ik niet aan uitkom. Ik heb een formulier gemaakt met een invoervak, en daar wordt een datum ingevuld. Dan wordt er vervolgens op een knop geklikt die een query start die alle records gaat zoeken die bij de ingevoerde datum horen. Tenminste... dat was mijn bedoeling.

In de Query heb ik als criteria bij het datum-veld het volgende ingevuld:

[forms]![formuliernaam]![naam_invoervak]

Wanneer ik als criteria bij de query gewoon [vul hier de datum in:] ingeef, en hem vervolgens handmatig uitvoer dan werkt het wel.

Iemand die me kan helpen?

  • Boss
  • Registratie: September 1999
  • Laatst online: 09:19

Boss

+1 Overgewaardeerd

k kan je zo snel ff niet helpen, maar wat ik nog wel eens doe bij zoiets is gewoon met wat de code de SQL van die query aanpassen. met currentdb.queriedefs("naam-van-query").SQL = "SELECT ... bla bla bla;"

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

Als je een qeurydef aanmaakt kan je ook bij de parameters komen, die je dan kunt vullen zeg maar. Vervolgens execute de query (ff de recordset vullen) en tada probleempje opgelost

Query zit er zo uit:
code:
1
2
PARAMETERS prmWaarde Text;
SELECT * FROM tableName WHERE FieldName = [prmWaarde]


In het event krijg je dan
code:
1
2
3
set qdef = db.querydefs("Naam-query")
qdef.parameters("prmWaarde") = me.Naam_Invoervak.value
set rst = qdef.openrecordset


Dit kan natuurlijk ook in ADO en das zelfs nog beter dan DAO. Principe is hetzelfde.

En nu zou je zelfs deze query als rowsource aan een listbox oid kunnen hangen. Die je vervolgens een Refresh meegeeft. En tada bloedje snel...

Verwijderd

Topicstarter
Ik was eigenlijk nog even vergeten te vertellen dat ik een ontzettende newbe ben. Ik heb bovenstaande oplossing geprobeerd, maar het lukt me echt niet. Programmeren is helaas niet een van mijn sterke kanten :'(.

Zou je me misschien iets specifieker uit kunnen leggen hoe ik het uit moet voeren? Of is er misschien een simplere manier?

Ik zal nog even extra verduidelijken wat precies de bedoeling is.

Afbeeldingslocatie: http://picserver.student.utwente.nl/getpicture.php?id=2731

Op het formulier wordt een datum ingevuld, die dan vervolgens bepaalde records op een rapport moet gaan laten zien. Dat rapport wordt gevuld door die query. Of zit ik nou helemaal fout?

Verwijderd

Heb je in de query een parameter aangemaakt ? Na te kijken onder "Query", "Parameters" in de menubalk. Zo ja, dan moet je die weg halen.

Verwijderd

Topicstarter
Verwijderd schreef op 01 augustus 2002 @ 14:44:
Heb je in de query een parameter aangemaakt ? Na te kijken onder "Query", "Parameters" in de menubalk. Zo ja, dan moet je die weg halen.
Nopez, heb ik niet aangemaakt, dus daar kan het niet aan liggen...

Verwijderd

Ik weet niet of dit ook bij AccessXp een probleem is maar ik kan me herinneren dat [forms] niet in een nl versie van Access gepakt word. Je kan de wizard starten door de in de query designer met je rechter muisknop op je criteria te klikken dan "build..." (staat er in de Engelse versie, weet niet wat de nl versie heeft) en dan start een hulpvenster om je link naar het formulier te maken. Kies daar het juiste formulier en het veld waar de datum in staat en dan geeft ie zo'n zelfde soort link als dat er nu staat, maar waarschijnlijk met [formulieren] ipv [form]. misschien helpt dat ?

Verwijderd

Topicstarter
Heej, het werkt! Met die "build" ging het opeens allemaal prima. Ik had een typefout gemaakt bij het benoemen van het besturingselement op het formulier, en daarom werkte het niet... }:O }:O }:O

Hele dag aan zitten verspillen. |:(

Bedankt iedereen! _/-\o_
Pagina: 1