Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Daten aus einer Tabelle lesen (https://www.delphipraxis.net/85810-daten-aus-einer-tabelle-lesen.html)

Felixcate07 5. Feb 2007 10:08


Daten aus einer Tabelle lesen
 
Hallo,

folgendes Problem. Ich möchte Daten aus einer Tabelle lesen und vergleichen.

Ich gebe ein Datumsbereich dan vom 1.1.2006 bis 1.7.2006

in der Tabelle steht

1.1.2005 - 1.5.2006 7%
1.6.2006 - 1.6.2006 5%
1.7.2006 - 1.7.2006 1%

das Programm müsste automatisch die richtige Prozentzahl nutzen.

Wie kann ich das anstellen ?

Gruß Tobias

mkinzler 5. Feb 2007 10:12

Re: Daten aus einer Tabelle lesen
 
Was für eine Tabelle? Datenbanktabelle? Excel-Sheet?

Jürgen Thomas 5. Feb 2007 10:17

Re: Daten aus einer Tabelle lesen
 
Weitere Verständnisfrage: Wenn Du einen solchen Datumsbereich vorgibst, dann sollen (nacheinander) drei verschiedene Prozentsätze verwendet werden? Oder wie meinst Du das? Jürgen

Felixcate07 5. Feb 2007 10:39

Re: Daten aus einer Tabelle lesen
 
ich gebe im meien Programm ein Datumsbereich ein mit einen Betrag X

jetzt soll er für den Betrag X und den Datumsbereich automatisch aus einer Tabelle die passenden Zinssätze heraussuchen

mkinzler 5. Feb 2007 10:46

Re: Daten aus einer Tabelle lesen
 
Um was für eine Tabelle handelt es sich jetet?

Felixcate07 5. Feb 2007 10:57

Re: Daten aus einer Tabelle lesen
 
der Tabellentyp ist nicht festgelegt...ist eben die Frage ob mit einer Tabelle oder in einer Textdatei...??

Ich denke Textdatei würde auch gehen so in der Art

1.1.2006 1.5.2006 7 1.5.2006 1.7.2006 3 ...

Jürgen Thomas 5. Feb 2007 11:19

Re: Daten aus einer Tabelle lesen
 
Ah ja. Dann spielt das eigentlich keine Rolle; es hängt in erster Linie davon ab, was Du sonst für Daten speicherst. Vorschläge:

Wenn die Buchhaltung oder Vertreter oder... in einer DB stehen, dann passen auch diese Daten in eine Tabelle dieser DB:
SQL-Code:
CREATE TABLE Rabatt
( ID          INTEGER,
  Geltung_ab  DATE,
  Geltung_bis DATE,
  Promille    INTEGER
);
Dazu gehören geeignete Indizes: ID, Geltung_ab. Geltung_bis ist eigentlich eine Redundanz, aber zur Prüfung des passenden Prozentsatzes ist es besser, dies extra zu speichern. Ich habe 'Promille' vorgeschlagen; dann kannst Du auch mit Dezimalstellen INTEGER speichern. Auf die ID kann auch verzichtet werden (dann ist Geltung_ab der PrimaryKey); aber mit ID bist Du bei Änderungen flexibler.

Eine vergleichbare Struktur kannst Du auch in XML oder INI oder Textdateien speichern. Dann hängt es davon ab, wie Du damit weiter arbeiten willst. Eine Möglichkeit wäre:
Code:
[Rabatt]
01.01.2006=5
01.05.2006=3
Oder vorbereitet als TStringList.CommaText:
Code:
[Rabatt]
01.01.2006,30.04.2006,5
01.05.2006,31.05.2006,3
In allen diesen Fällen musst Du selbst entscheiden und regeln, wie Du die Werte in passende interne Strukturen einlesen willst.

Generell empfehle ich für eine solche Situation, nicht 'von 01.01.2006 bis 01.04.2006' festzulegen, sondern 'von 01.01.2006 bis 30.04.2006', damit alle Daten lückenlos erfasst werden.

Zu meiner ersten Frage: Du kommst dann wohl nicht um eine Schleife umhin.

Hilft das? Jürgen

Felixcate07 5. Feb 2007 13:07

Re: Daten aus einer Tabelle lesen
 
als Textdatei werde ich es machen und dann mit einer Schleife abfragen ob es in diesen Intervall ist sonst weiter


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:41 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