AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Nach leeren Feldern suchen
Thema durchsuchen
Ansicht
Themen-Optionen

Nach leeren Feldern suchen

Ein Thema von Zaebos · begonnen am 1. Aug 2007 · letzter Beitrag vom 1. Aug 2007
Antwort Antwort
Zaebos

Registriert seit: 5. Jun 2007
33 Beiträge
 
#1

Nach leeren Feldern suchen

  Alt 1. Aug 2007, 11:15
Datenbank: dBase • Zugriff über: BDE
Hallo nochmal. Hab mich jetzt fast totgesucht nach folgendem:

Ich habe eine Abfrage, die bis (if Query1.Empty) läuft. Es kann jedoch sein, dass in der Datenbank noch leere Felder vorhenden sind, die dann als nächstes angezeigt werden sollen. Also im Prinzip so:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
Query1.active:=false;
Query1.sql.text:='SELECT FIRMA,WVZEIT,WVKONTAKT FROM SUCC1 WHERE WVKONTAKT<=:edatum ORDER BY WVKONTAKT DESC';
Query1.ParamByName('edatum').Value := Date();
query1.active:=true;
if Query1.IsEmpty then
begin
//Hier sollten die leeren DS gesucht werden; möglichst mit Table1.Locate=false, falls keine Daten mehr vorhanden sind
end;
end;
Wie suche ich also im Anschluss nach leeren Feldern? Danke schonmal
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Nach leeren Feldern suchen

  Alt 1. Aug 2007, 11:26
Sind die Felder nur Leer ('') oder echt leer (NULL)?
Markus Kinzler
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Nach leeren Feldern suchen

  Alt 1. Aug 2007, 12:22
Hallo,

beim Zugriff auf Datumsfelder unter dBase muss bei LocalSQL mit NULL gearbeitet werden, auch wenn dBase selbst in den meisten Versionen gar keine Null-Werte unterstützt.

Wenn die Sätze ohne Datumsangabe zusammen mit den gefilterten Sätzen in der Ergebnismenge auftauchen sollen, dann muss die Where-Klausel erweitert werden:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  with Query1 do
  begin
    Sql.Text := 'SELECT firma, wvzeit, wvkontakt FROM succ1 WHERE wvkontakt <= :edatum '
        + 'OR wvkontakt IS NULL ORDER BY wvkontakt DESC';
    ParamByName('edatum').Value := Date();
    Open;
    while not Eof do
    begin
      if FieldByName('wvkontakt').IsNull
        then { ... }
        else { ... };
      Next;
    end;
    Close;
  end;
end;
Da sich das SQL-Statement nicht ändert, würde ich es nur einmal im OI eintragen.

Grüße vom marabu
  Mit Zitat antworten Zitat
Zaebos

Registriert seit: 5. Jun 2007
33 Beiträge
 
#4

Re: Nach leeren Feldern suchen

  Alt 1. Aug 2007, 13:47
Danke für den Gedankenstoß

While not is für die Software jedoch etwas zu langsam. Habe mir mit einer SQL-Abfrage und "Is Null" schon selber geholfen.

Vielen Dank meine Lieben
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz