Announcement

Collapse
No announcement yet.

Abfrage mit Datumsfunktion

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

  • Abfrage mit Datumsfunktion

    Hallo,
    ich moechte ein Programm zur Verwaltung von Kalibrierdaten verschiedener Geraete mit Delphi 5 erstellen.
    Dazu habe ich 2 Tabellen des Typs DBase erstellt.
    In Tabelle 1 ( Invent.dbf) ist enthalten:
    LabNr = Inventarnummer (Verknüpft mit Tab.2)
    Bezeichnung
    Rhytm = Kalibrierrhythmus in Tagen
    etc.

    In Tabelle 2 ( Kdate.dbf) ist enthalten:
    LabNr
    Kdatum = Kalibrierdatum
    etc.

    Die Abfrage soll alle Datensaetze anzeigen,
    bei denen das Kalibrierdatum laenger als ein Kalibrierrhythmus zurueck liegt.

    Die Abfrage lautet in DBase wie folgt:
    Kdate.Kdatum < Date()- Invent.Rhytm

    Nun zur Frage:
    Wie realisiere ich diese Abfrage?
    Wie lautet der (moeglichst genaue) Abfrage-Text, der im SQL-Builder von Delphi eingefuegt werden kann?

    VIELEN DANK
    Volker Braun
    [email protected]

  • #2
    Hallo Volker,

    da ich nicht genau weiß ob es eine Funktion für das aktuelle Datum in Local-SQL gibt (ich hab zumindest keine gefunden :-(, würde ich die Abfrage mit einem Parameter durchführen.

    select * from Invent inner join Kdate on Invent.LabNr = Kdate.LabNr
    where Kdate.Kdatum < (:AktDate - Invent.Rhytm)

    In Deinem Delphi-Quelltext setzt Du dann:
    Query1.ParamByName('AktDate').AsDate := Date;
    bevor Du die Abfrage mit Query1.Open startest.

    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


    • #3
      Hallo,
      wo genau (im Quelltext) muss ich
      Query1.ParamByName('AktDate').AsDate := Date;
      einfügen?
      Volke

      Comment


      • #4
        Hallo,

        Standard einer Abfrage:
        <pre>
        with query1 do
        begin
        close;
        sql.clear;
        sql.add('select * from KUNDEN');
        sql.add('where NAME = :suchname');
        ParamByName('suchname').asString := 'Meier';
        open;
        end;
        </pre>

        Gruß Ul

        Comment

        Working...
        X