AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Zahlenbereich vergleichen

Zahlenbereich vergleichen

Ein Thema von Albi · begonnen am 10. Mär 2004 · letzter Beitrag vom 14. Mär 2004
Antwort Antwort
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#1

Zahlenbereich vergleichen

  Alt 10. Mär 2004, 18:22
Hallo alle zusammen,

ich stehe vor einem Problem, wo ich keine Lösung finde. Ich habe 2 Tabelle (Paradox), in der einen stehen die PLZ und in der anderen die ID aus der PLZ-DB, die die eindeutige Beziehung zu den PLZ herstellen. So nun gebe ich über 2 Edits einen Bereich der PLz ein und suche die aus der Plz-DB raus. Soweit ist es ja einfach aber nun möchte ich die passenden Einträge aus der 2 DB heraussuchen und anzeigen.

Wenn ich genau die PLz treffe die in der 2 DB drinstehen werden mir die auch anzeigt aber wenn nicht ergib die Abfrage Null.

Ich habe es mit einer Schleife versucht aber ohne jeden Erfolg.
  Mit Zitat antworten Zitat
INC-Man

Registriert seit: 18. Nov 2003
20 Beiträge
 
#2

Re: Zahlenbereich vergleichen

  Alt 11. Mär 2004, 12:56
Hallo Albi,

kannst du was zum Aufbau deiner Dateien sagen?
Besteht auf der Datei mit den Idents ein Index?
Hast Du es schon mit einem SetRange versucht?
Wie greifst Du auf die Datenbank zu? (BDE oder ?)

Bis dann INC-Man
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#3

Re: Zahlenbereich vergleichen

  Alt 11. Mär 2004, 13:29
Wenn es sich auf diesen Thread von dir bezieht, dann:

SQL:
SQL-Code:
SELECT PLZ_Tab.PLZ
      ,Adr_Tab.Adresse
      ,Adr_Tab.Name
      ,Adr_Tab.Vorname
FROM DeineTabelle Adr_Tab
      ,DeinPLZTabelle PLZ_Tab
WHERE PLZ_Tab.ID = Adr_Tab.ID And
       Cast(PLZ_Tab.PLZ As Number(5))
         Between :i_MinPLZ And :i_MaxPLZ
In Delphi:

Delphi-Quellcode:
With Query Do
Begin
  SQL.Text :=
    'SELECT PLZ_Tab.PLZ' + #10 +
    ' ,Adr_Tab.Adresse' + #10 +
    ' ,Adr_Tab.Name' + #10 +
    ' ,Adr_Tab.Vorname' + #10 +
    'FROM DeineTabelle Adr_Tab' + #10 +
    ' ,DeinPLZTabelle PLZ_Tab' + #10 +
    'WHERE PLZ_Tab.ID = Adr_Tab.ID And' + #10 +
    ' Cast(PLZ_Tab.PLZ As Number(5))' + #10 +
    ' Between :i_MinPLZ And :i_MaxPLZ';
  // Statement parsen, damit die Variablen erkannt werden
  Prepared := True;
  // Übergabe der Werte für die 2 Variablen
  With Params Do
  Begin
   ParamByName('i_MinPLZ').AsInteger := StrToInt(edtMinPLZ.Text);
   ParamByName('i_MaxPLZ').AsInteger := StrToInt(edtMaxPLZ.Text);
  End;
  // Ausführen...
  Open;
  
  While not Eof Do
  Begin
    // tu was ...
    Next;
  End;
End;
Nachtrag: "Cast(PLZ as Number(5))" bewirkt, dass die PLZ als eine 5-stellige Zahl behandelt wird.
"between" funktioniert auch mit Buchstaben (das Ergebnis würde hier keinen Sinn ergeben)
  Mit Zitat antworten Zitat
11. Mär 2004, 13:38
Dieses Thema wurde von "Sharky" von "Object-Pascal / Delphi-Language" nach "Datenbanken" verschoben.
Paradox? -> Datenbank
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#5

Re: Zahlenbereich vergleichen

  Alt 14. Mär 2004, 09:16
Es handelt sich dabei um den gleichen Hintergrund. Ich habe die Abfrage und schreibe diese in die Listview und dann das Ergebnis der Listview in die txt um um diese dann als vorlage für Serienbriefe zu nehmen aber ohne Ort und Plz sieht es schlecht aus.

Ich habe das Problem erst mal provisorisch gelöst indem ich nur nach einer PLz suchen lasse. Ich werde jetzt aber selbstverständlich den Code von Dir ausprobieren.

Vielen Dank.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 11:03 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