none
Datensätze mit einem Suchkriterium über mehrere Spalten suchen

    Frage

  • Ich hämpfe mit einem wahrscheinlich alltäglichen Problem:

    Ich möchte durch Eingabe eines Suchkriteriums Datensätze finden. Das Suchkriterium kann allerdings in einer von mehreren Spalten enthalten sein.

    z.B.: Ich gebe als Suchkriterium einen Teil eines Namens, eine Auftrags- oder Rechnunsgnummer oder aber auch ein geburtsdatum ein.

    Die ersten 3 Spalten (Name, Auftragsnummer, Rechnungsnummer) sind alles Textspalten - das funktioniert schon prima.

    Anders verhält es sich mit dem Geburtsdatum. Wenn versucht wird einen Text (z.B. "Müller") auf die Datumsspalte anzuwenden, dann kracht es natürlich.

     

    Gibt es hierfür ein typisches Vorgehen ?

    Sonntag, 6. März 2011 10:37

Antworten

  • Hallo NicoNi
     
    Das "Krachen" kommt daher, dass Du Birnen mit �?pfeln vergleichst. Um das zu machen, musst Du aus dem Datumsinhalt zuerst Apfelmost machen, den Du dann mit dem Birnenmost vergleichen kannst. Am einfachsten mit einer Format Funktion. Das würde dann in der WHERE Klausel wie folgt aussehen:
     
    WHERE ....
       OR Format(DeinDatum, 'dd.mm.yyyy hh:nn:ss') LIKE '*' & [Suche nach] & b"*"
     
    Dann wird das Krachen allenfalls noch ein leises, kaum wahrnehmbares Winseln sein.
     
    Ich meinerseits ziehe es vor hierfür jeweils vernünftige Suchfelder (evt. sogar Comboboxen) für den Benutzer bereit zu stellen. Dann kann da auch ein richtiges Datum oder ein Datumsbereich eingegeben und dannach gesucht werden.
     
    Gruss
    Henry

    Ich hämpfe mit einem wahrscheinlich alltäglichen Problem:

    Ich möchte durch Eingabe eines Suchkriteriums Datensätze finden. Das Suchkriterium kann allerdings in einer von mehreren Spalten enthalten sein.

    z.B.: Ich gebe als Suchkriterium einen Teil eines Namens, eine Auftrags- oder Rechnunsgnummer oder aber auch ein geburtsdatum ein.

    Die ersten 3 Spalten (Name, Auftragsnummer, Rechnungsnummer) sind alles Textspalten - das funktioniert schon prima.

    Anders verhält es sich mit dem Geburtsdatum. Wenn versucht wird einen Text (z.B. "Müller") auf die Datumsspalte anzuwenden, dann kracht es natürlich.

     

    Gibt es hierfür ein typisches Vorgehen ?

    Montag, 7. März 2011 03:16

Alle Antworten

  • Hallo Nico,
     
    Am 06.03.2011 11:37, schrieb NicoNi:
    > Ich möchte durch Eingabe eines Suchkriteriums Datensätze finden. Das
    > Suchkriterium kann allerdings in einer von mehreren Spalten enthalten sein.
    >
    > z.B.: Ich gebe als Suchkriterium einen Teil eines Namens, eine Auftrags-
    > oder Rechnunsgnummer oder aber auch ein geburtsdatum ein.
    >
    > Die ersten 3 Spalten (Name, Auftragsnummer, Rechnungsnummer) sind alles
    > Textspalten - das funktioniert schon prima.
    >
    > Anders verhält es sich mit dem Geburtsdatum. Wenn versucht wird einen
    > Text (z.B. "Müller") auf die Datumsspalte anzuwenden, dann kracht es
    > natürlich.
    >
    > Gibt es hierfür ein typisches Vorgehen ?
     
    für die Eingabe des Geburtsdatum solltest Du ein gesondertes Textfeld in
    Deinem Formular verwenden.
    In der Abfrage kannst Du alle Parameter durch ein *Oder* miteinander
    verknüpfen.
     
    BTW: Name ist ein sehr schlechter Feldname. Details findest Du hier:
     
    HTH
    --
    Thomas
     
    Homepage: www.Team-Moeller.de
     
    Sonntag, 6. März 2011 12:40
  • Hallo NicoNi
     
    Das "Krachen" kommt daher, dass Du Birnen mit �?pfeln vergleichst. Um das zu machen, musst Du aus dem Datumsinhalt zuerst Apfelmost machen, den Du dann mit dem Birnenmost vergleichen kannst. Am einfachsten mit einer Format Funktion. Das würde dann in der WHERE Klausel wie folgt aussehen:
     
    WHERE ....
       OR Format(DeinDatum, 'dd.mm.yyyy hh:nn:ss') LIKE '*' & [Suche nach] & b"*"
     
    Dann wird das Krachen allenfalls noch ein leises, kaum wahrnehmbares Winseln sein.
     
    Ich meinerseits ziehe es vor hierfür jeweils vernünftige Suchfelder (evt. sogar Comboboxen) für den Benutzer bereit zu stellen. Dann kann da auch ein richtiges Datum oder ein Datumsbereich eingegeben und dannach gesucht werden.
     
    Gruss
    Henry

    Ich hämpfe mit einem wahrscheinlich alltäglichen Problem:

    Ich möchte durch Eingabe eines Suchkriteriums Datensätze finden. Das Suchkriterium kann allerdings in einer von mehreren Spalten enthalten sein.

    z.B.: Ich gebe als Suchkriterium einen Teil eines Namens, eine Auftrags- oder Rechnunsgnummer oder aber auch ein geburtsdatum ein.

    Die ersten 3 Spalten (Name, Auftragsnummer, Rechnungsnummer) sind alles Textspalten - das funktioniert schon prima.

    Anders verhält es sich mit dem Geburtsdatum. Wenn versucht wird einen Text (z.B. "Müller") auf die Datumsspalte anzuwenden, dann kracht es natürlich.

     

    Gibt es hierfür ein typisches Vorgehen ?

    Montag, 7. März 2011 03:16