Matthias Francke: Ultradev AccessXP Anbindung

Ich hätte da ein kleines Problem bei dem ich keinerlei Hilfe in der DOKU finden konnte. Vielleicht weis es ja jemand.

Ich hab eine Datenbank in Access erstellt in der ca 12 Spalten vorhanden sind. Der User kann über ein Formular einen neuen Datensatz erstellen. Das funktioniert soweit auch ganz ordentlich (die Datensätze werden mit ACCESS auch angezeigt).
Es gibt eine zweite Seite in der der User Suchkriterien angeben kann. Es stehen ihm hierfür etwa 8 der 12 Spalten als Abfragekriterien zu Verfügung. Wenn ein Datensatz in der DB vohanden ist, bei dem nicht alle Spalten gefüllt sind, bekomme ich keine Datensätze angezeigt. Genauer gesagt die Query läuft bis zum letzten Datensatz bei dem alle Felder gefüllt sind, dann hört er auf.

Ich habe beide Seiten mit Dreamweaver UltraDev erstellt. Zur Suche habe ich eine Query zusammengstellt die wie folgt lautet:

SELECT *
FROM Literatur
WHERE vnname like '%dvnname%' AND zautor like '%dzautor%' AND cautor like '%dcoautor%' AND jahr like '%dejahr%' AND titel like '%dtitel%' AND verfahren like '%dverfahren%' AND organsystem like '%dorgan%' AND anatomie like '%dantstr%'

Es sind nicht alle Felder wie oben beschrieben aber das tut auch nichts zur Sache. Im dreamweaver im Dialogfeld Datensatzgruppe unter Variablen habe ich die einzelnen Formularfelder eingetragen. Als "default value" habe ich % eingetragen. Liegt es möglicherweise daran?
Die Datenbank ist so eingerichtet, daß bis auf zwei Felder alle eine leere Zeichenfolge enthalten dürfen.

Ich wäre für jeden Hinweis, der mich de Lösung ein Stück näher bringt sehr dankbar.

Gruß

Matthias

  1. Hallo Matthias,

    Es gibt eine zweite Seite in der der User Suchkriterien angeben kann. Es stehen ihm hierfür etwa 8 der 12 Spalten als Abfragekriterien zu Verfügung. Wenn ein Datensatz in der DB vohanden ist, bei dem nicht alle Spalten gefüllt sind, bekomme ich keine Datensätze angezeigt. Genauer gesagt die Query läuft bis zum letzten Datensatz bei dem alle Felder gefüllt sind, dann hört er auf.

    SELECT *
    FROM Literatur
    WHERE vnname like '%dvnname%' AND zautor like '%dzautor%' AND cautor like '%dcoautor%' AND jahr like '%dejahr%' AND titel like '%dtitel%' AND verfahren like '%dverfahren%' AND organsystem like '%dorgan%' AND anatomie like '%dantstr%'

    Bei Access kannst Du das mit "OR ISNULL(Spaltenname)" lösen, also bei Deinem Beispiel etwa:

    ... WHERE ((vnname like '%dvnname%') OR ISNULL (vnname)) AND ((zautor ...

    Besser ist es aber "NULL" gar nicht erst zu zulassen, ein Leerstring ist immer besser...

    CU Christoph