Faq/Base/004/de

Beim Öffnen eines Formulars mit Unterformular erscheint die Fehlermeldung, dass die Anzahl der Parameter nicht übereinstimmt.
Diese Meldung taucht hin und wieder bei externen Datenbanken auf, die über ODBC oder JDBC mit Base verbunden sind. Das Unterformular basiert in diesem Fall auf einer Parameterabfrage, die an das Hauptformular gebunden ist: SELECT * FROM "Einkauf" WHERE "Kategorie" =:qKat

Der Parameter qKat wurde in den Dateneigenschaften des Unterformulars in der Zeile Verknüpfen nach angegeben.

Externe Datenbanken können je nach Treiber so einen Parameter nicht richtig deuten. Über Bearbeiten > Datenbank > Erweiterte Einstellungen > Besondere Einstellungen wird Benannte Parameter durch '?' ersetzen ausgewählt. Die Abfrage für das Unterformular wird dann an die Datenbank statt mit dem internen Parameter mit einem '?' weitergeleitet:

SELECT * FROM "Einkauf" WHERE "Kategorie" =?

Hieran sollte der Treiber den Parameter erkennen und entsprechend füllen können.