Announcement

Collapse
No announcement yet.

Filter auf TDateTime-Field

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Filter auf TDateTime-Field

    Hallo<p>

    Ich habe in einer Paradox-Tabelle in TDateTimeField, in dem ein Datum<br>
    gespeichert wird.<br>
    Nun möchte ich einen Filter erstellen, mit dem mir die Datensätze<br>
    ausgefiltert werden, die einen bestimmten Tages- und Monatswert besitzen.<br>
    Kann ich hierzu die Eigenschaft "Filter" verwenden? Und wenn ja, wie<br>
    muß die Filter-Anweisung aussehen? (Mit Wildcards '*' oder '?' <br>funktioniert es nicht.)<p>

    Danke, Karsten

  • #2
    Hallo Karsten
    Ich würde hierfür keinen Filter verwenden da Du ja sicher das Datum Wert des öfteren ändern mussten. Ich kann da nur eine SQL Abfrage empfehlen. Wenn Du noch ein paar Infos brauchst melde dich einfach noch einmal.

    Tschüss Danie

    Comment


    • #3
      Hi !!
      Ich habe das Problem bei mir wie folgt gelöst:

      procedure TForm1.Table1FilterRecord(DataSet: TDataSet; var: Boolean);
      begin
      Accept:= (FormatDateTime('yyyy', Dataset.FieldByName
      ('DATUM').AsDateTime) = '2000');
      end;
      Alle Daten mit dem Jahreswert 2000 werden angezeigt.
      Alternativ kann man natürlich auch den Monat mit 'dd' (numerisch)
      filtern !!!
      Ich hoffe ich konnte helfen; wenn Du einen Bsp.-Code brauchst, Mail
      mir

      Comment


      • #4
        Da ich nur die Werte abfragen muß und keine Änderungen am Feldinhalt<br> vornehmen muß, benutze ich den Filter.<br>
        Klappt wunderbar.<p>
        Danke. (an beide!

        Comment


        • #5
          Hallo Daniel,

          wie macht man eine SQL-Abfrage auf einen Teil eines ftDate-Feldes
          eine Paradox-Tabelle? (Z. Bsp. um nur nach dem Mai zu suchen?)
          Kann man eine Tabelle auch entsprechend indizieren bzw. sortieren?
          (Z. Bsp.: Zuerst Monat, dann Tag und zuletzt Jahr?)

          Gruß aus Bärlin
          Matthia

          Comment


          • #6
            Hallo Matthias,

            das genaue Aussehen der SQL-Abfrage ist vom Funktionsumfang des SQL-Servers abhängig. Prinzipiell gibt es aber Konvertierungsfunktionen für Datum in String. Bsp.:
            select Datum from Tabelle where <b>to_char(Datum, 'MM')</b>='05'
            würde alle Datumswerte für Mai zurückliefern (Oracle Server)

            Datumsfelder können indiziert werden - die Sortierreihenfolge ist dann aber durch den Datumswert vorgegeben (Jahr, Monat, Tag). Wenn Du für ein Datumsfeld eine andere (indizierte) Sortierung brauchst, dann wirst Du um ein zusätzliches Feld (Typ Char) in der Form MMDDYYYY nicht umhin kommen. Dieses Feld kannst Du über einen Trigger automatisch aus dem eigentlichen Datumsfeld füllen lassen und natürlich indizieren.

            Gruß Fal
            Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

            Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

            Comment

            Working...
            X