[Access] parameterized queries en * of ? als input*

Pagina: 1
Acties:

  • Deegroller
  • Registratie: November 2001
  • Laatst online: 24-03-2025
ik heb een probleem met betrekking tot het gebruik van een asterisk(*) en vraagteken (?) in een invoerveld. Ik heb een formulier gemaakt met een invoerveld dat invoer geeft aan een parameterquery. Nu maakte ik op dit formulier een knop om de query uit te laten voeren en zodoende met de invoer van het invoerveld een uitkomstformulier te genereren. Dit werkte allemaal prima, ook bij het invoeren van data met een * en/of ?.
Nu wilde ik van hetzelfde principe gebruikmaken om het uitkomstenformulier als subformulier weer te geven onder het invoerveld. Ook dit werkt, alleen ik kan nu geen gebruik meer maken van * en ?... :?
Ik kom er niet uit en heb al een hoop geprobeerd! Misschien weet iemand hier een oplossing voor??

alvast bedankt!! :?

heb btw ook al de andere topics over parameterqueries gelezen, maar misschien staat het wel ergens anders bij?

Geweldige hand-oog-coördinatie dankzij Wacom en Playboy!


  • whoami
  • Registratie: December 2000
  • Laatst online: 21-08 22:54
Post misschien eens een stukje relevante code.
Bv, hoe je die parameters van je query opvult.

https://fgheysels.github.io/


  • Deegroller
  • Registratie: November 2001
  • Laatst online: 24-03-2025
Ik ga uit van 2 tabellen: "Producten" met de velden "ID", "Oude Code" en "Nieuwe Code" en een ODBC gekoppelde tabel "Part" met de velden "PartNum" en "Partdescription". De relatie tussen deze 2 ligt tussen Nieuwe Code en Partnum.

De parameters van mijn query TEST2 vul ik op door in de query bij het veld criteria (queryontwerp) deze code te gebruiken:

Like [Forms]![TEST2]![Oude Code]


Ofwel in SQL:

SELECT Producten.[Oude Code], [Part].PartNum, [Part].PartDescription
FROM Producten INNER JOIN [Part] ON Producten.[Nieuwe Code] = [Part].PartNum
WHERE (((Producten.[Oude Code]) Like [Forms]![TEST2]![Oude Code]));


Dus het formulier TEST2 bevat een tekstvak Oude Code waar ik de oude code invul. De bedoeling van de query is om hierbij op een subformulier de oude code en de nieuwe code te laten zien, plus de beschrijving. (PartNum en PartDescription)

Ik heb al geprobeerd om "Forms" te veranderen in "Formulieren", maar ook dan werkt het nog niet met * en ?

Trouwens de query werkt als ik hem handmatig uitvoer wel met * en ? !! :?

[ Voor 10% gewijzigd door Deegroller op 07-08-2003 09:56 ]

Geweldige hand-oog-coördinatie dankzij Wacom en Playboy!


  • Boss
  • Registratie: September 1999
  • Laatst online: 10:17

Boss

+1 Overgewaardeerd

Als je nu dat hele [Forms]... vervangt door de waarde die in dat textveld staat, en dat dan naar een querie schrijft die je vervolgens gebruikt...

Persoonlijk heb ik nooit zo'n lekker gevoel als je in een query direct verwijst naar een textveld op een form.
Bovendien kan je dan wat makkelijker debuggen, want je kan meteen je query ff openen en zien of het werkt.

Om een query te maken: Currentdb.Querydefs("qryTest").SQL = "SELECT bla bla bla"
moet qryTest wel eerst bestaan.

Werkt dat?

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.


  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Je kan ook subformbladiebla.RecordSource = "SELECT bla bla bla" gebruiken, het is immers een tijdelijke recordsource.

En om een tijdelijke recordsource op te slaan als query, geeft mij persoonlijk geen lekker gevoel ;)

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • Deegroller
  • Registratie: November 2001
  • Laatst online: 24-03-2025
Hmm ik snap het niet helemaal, maar volgens mij wordt jou oplossing statisch.. Of is het niet zo dat als je de waarde van het textveld in het criteria veld invult dat het een querie wordt die alleen nog maar uitkomsten geeft voor die waarde? het is juist de bedoeling dat ik in het textveld op het formulier TEST2 waardes in kan typen die ook ? en * mogen bevatten.. ondertussen ga ik eens even proberen jou (=BOSS) oplossing in te bouwen!

Geweldige hand-oog-coördinatie dankzij Wacom en Playboy!


  • Deegroller
  • Registratie: November 2001
  • Laatst online: 24-03-2025
kenneth schreef op 07 August 2003 @ 11:32:
Je kan ook subformbladiebla.RecordSource = "SELECT bla bla bla" gebruiken, het is immers een tijdelijke recordsource.

En om een tijdelijke recordsource op te slaan als query, geeft mij persoonlijk geen lekker gevoel ;)
Dat heb ik ook op die manier gedaan, en als ik als uitkomst van de query vraag bij handmatig uitvoeren ervan (dus op basis van mijn textveld) werkt hij perfect, ook met * en ?. Alleen dus niet als ik de uitkomst van de query als Subform wil laten zien...

Geweldige hand-oog-coördinatie dankzij Wacom en Playboy!


Verwijderd

Waarom post je niet een stukje van die ACCESS database? Dat maakt het voor ons wellicht wat makkelijker.

Ik zit namelijk met een soortgelijk probleem te stoeien. Misschien ben jij al verder dan ik.
Pagina: 1