Dick Groskamp schreef:
plaater schreef:
Hoi Johnny en anderen,

2008/4/14 johny bettens <[EMAIL PROTECTED]>:

Hey René,

Bedoel je dat je een formulier zou willen maken dat gebaseerd is op een
parameterquery?
Maak hiervoor een gewone selectiequery die alle velden bevat die je wil
zien. In het ontwerpvenster van je query, in de rij 'criteria', onder het
veld 'datum' plaats je het volgende:
Between [Geef de begindatum in:] And [Geef de einddatum in:]


Ik heb dit meermalen uitgeprobeerd, zelfs m.b.v. copieren en plakken, maar
telkens krijg ik de melding:

SQL-status: S0022
Foutcode: -28

Column not found: begin in statement [SELECT "Tbl_Maaltijd"."Datum",
"Tbl_cal_per_eenheid"."product", "Tbl_Maaltijd"."Hoeveelheid",
"Tbl_cal_per_eenheid"."hoeveelheid", "Tbl_cal_per_eenheid"."eenheid",
"Tbl_Maaltijd"."Hoeveelheid" * "Tbl_cal_per_eenheid"."Kcal" /
"Tbl_cal_per_eenheid"."hoeveelheid" AS "Hoeveelheid_Kcal",
"Tbl_Maaltijd"."Hoeveelheid" * "Tbl_cal_per_eenheid"."eiwit" /
"Tbl_cal_per_eenheid"."hoeveelheid" AS "Hoeveelheid_eiwit",
"Tbl_Maaltijd"."Hoeveelheid" * "Tbl_cal_per_eenheid"."koolh." /
"Tbl_cal_per_eenheid"."hoeveelheid" AS "Hoeveelheid_koolh.",
"Tbl_Maaltijd"."Hoeveelheid" * "Tbl_cal_per_eenheid"."vet" /
"Tbl_cal_per_eenheid"."hoeveelheid" AS "Hoeveelheid_vet" FROM
"Tbl_Maaltijd", "Tbl_cal_per_eenheid", "Tbl_Dagdeel" WHERE (
"Tbl_Maaltijd"."Product" = "Tbl_cal_per_eenheid"."ID" AND
"Tbl_Maaltijd"."Dagdeel" = "Tbl_Dagdeel"."ID" ) AND ( (
"Tbl_Maaltijd"."Datum" BETWEEN "begin" AND "einde" ) ) ORDER BY
"Tbl_Maaltijd"."Datum" ASC]

Als ik het criterium "BETWEEN enz" weglaat, loopt de qyuery moeiteloos.
Kijkend naar de foutmelding : "Column not found: begin ....." heeft dit betrekking op de begindatum die je kennelijk als parameter meegeeft. Die wordt dus niet gevonden en daarom loopt de query niet.

Vanuit de in de Help en OOoForum gegeven voorbeelden zou het na BETWEEN iets moeten zijn van: >= :begin AND <= :einde
waarbij = :begin en = :einde verwijzen naar de opgegeven parameters.
Op dit moment gaat BASE na BETWEEN op zoek naar een kolom die natuurlijk niet bestaat, hetzelfde geldt uiteraard voor "einde"

Hier is in ieder geval 1 voorbeeldje:

http://www.oooforum.org/forum/viewtopic.phtml?t=16132&highlight=sql+parameter <http://www.oooforum.org/forum/viewtopic.phtml?t=16132&highlight=sql+parameter>

aanvullinkje:

het kan zijn dat je de tabelnaam erbij moet hebben.
Aangezien ik niet weet of je het doet in SQL of in ontwerpweergave, hier een korte beschrijving:

SQL: vul na BETWEEN in : "Tbl_Maaltijd"."Datum" >= :begin AND "Tbl_Maaltijd"."Datum" <= :einde

In Ontwerpweergave: voeg het veld Tbl.Maaltijd.Datum toe aan de query. Zet bij Criterium in dezelfde kolom > = :begin Voeg datzelfde veld nog een keer toe en zet dan bij Criterium < = :einde

(Als je die twee kolommen niet wilt zien moet je Zichtbaar even uitzetten)

Als je nu de query uitvoert zul je een scherm aangeboden krijgen waar je voor :begin een datum moet invullen, vervolgens moet je voor :einde ook een datum opgeven. Die twee datums worden getransporteerd naar de query. Voor de datum van :begin geldt op deze manier dat de query zoekt naar alles wat groter of gelijk is aan en voor ;einde geldt dat de query zoekt naar alles wat kleiner of gelijk is aan : einde LET op: BASE is nogal gevoelig voor enkele en dubbele aanhalingstekens. Als het niet werkt kun je proberen om de een door de ander te vervangen.

--
DiGro

Windows XP Professional SP2 and OOo 2.3
Scanned with Multikabel Internet Security Plus


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Antwoord per e-mail aan