Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Kleines Problem mit Schleife, finde Fehler einfach nicht (https://www.delphipraxis.net/84428-kleines-problem-mit-schleife-finde-fehler-einfach-nicht.html)

mafiaente 16. Jan 2007 20:14

Datenbank: Paradox7 • Zugriff über: TTable

Kleines Problem mit Schleife, finde Fehler einfach nicht
 
Guten Tag,
also ich bin neu hier im Forum und hoffe mir kann bei meinem Problem geholfen werden.
Ich verscuhe grad mir delphi mehr oder weniger selbst beizubringen und hab grad nen kleinen hänger...
Ich habe ein Stringgrid mit 5 Spalten gegen, wobei sich die Zeilenanzahl variieren lässt. Die erste Zeile enthält die Zeilenköpfe.
Ich möchte nun die Spalte 1 und 4 eine meine Datentabelle 2 übertragen un habe mir dabei folgende Schleife überlegt:

Delphi-Quellcode:
k:=stringgrid1.rowCount;
table2.open;
for k:=1 to (k-1) do
    begin
    table2.append;
    table2['Re.Nr.']:=table3.fieldbyname('Re.Nr.').asstring;
    table2['Art.Nr.']:=stringgrid1.cells[0,k];
    table2['Anzahl']:=stringgrid1.cells[3,k];
    table2.post;
    end;
also zuerst soll die zeilenanzahl ermittelt werden, damit ich weiß wie oft die schleife durchlaufen soll. für mich erscheint es logisch, doch erscheint "indexfehler" als fehlermeldung! ich hoffe mir kann geholfen werden!
thx schonma im vorraus...

Bernhard Geyer 16. Jan 2007 20:16

Re: Kleines Problem mit Schleife, finde Fehler einfach nicht
 
Delphi-Quellcode:
k:=stringgrid1.rowCount;
...
for k:=1 to (k-1) do
Kommt dir bei diesen 2 Zeilen nicht etwas komisch vor? k soll die Anzahl der Rows enthalten und wird als Schleifenvariable verwendet.

mafiaente 16. Jan 2007 20:20

Re: Kleines Problem mit Schleife, finde Fehler einfach nicht
 
na klaR! man bin ich bekloppt!naja sitz schon den ganzen tag dran, da kann man sowas schonma übersehen^^

habs jetz aber geändert un nun kommt trotzdem noch ne fehlermeldung mit der ich nichts anfangen kann:
'Indexfehler'

noch ne kleine hilfe bitte!!!

Delphi-Quellcode:
k:=stringgrid1.rowCount;
table2.open;
for i:=1 to (k-1) do
    begin
    table2.append;
    table2['Re.Nr.']:=table3.fieldbyname('Re.Nr.').asstring;
    table2['Art.Nr.']:=stringgrid1.cells[0,i];
    table2['Anzahl']:=stringgrid1.cells[3,i];
    table2.post;
    end;

Bernhard Geyer 16. Jan 2007 20:22

Re: Kleines Problem mit Schleife, finde Fehler einfach nicht
 
An welcher Zeile genau kommt die Exception?

mkinzler 16. Jan 2007 20:25

Re: Kleines Problem mit Schleife, finde Fehler einfach nicht
 
Wieviel Spalten hat das Grid?
BTW.: sollte es nicht
Delphi-Quellcode:
for i:=0 to (k-1) do
heißen?

mafiaente 16. Jan 2007 20:26

Re: Kleines Problem mit Schleife, finde Fehler einfach nicht
 
nee, in der obersten zeile befindet sich ja der kopf der tabelle, also muss ich doch erst mit der 1 anfangen, oder?

"...exception der klasse EDBEngineError aufgetreten. Meldung: 'indexfehler'..."

MrKnogge 16. Jan 2007 20:29

Re: Kleines Problem mit Schleife, finde Fehler einfach nicht
 
Vielleicht:

Delphi-Quellcode:
table2['Art.Nr.']:=stringgrid1.cells[i,0];
table2['Anzahl']:=stringgrid1.cells[i,3];
Erst Zeile, dann Spalte.

sirius 16. Jan 2007 20:31

Re: Kleines Problem mit Schleife, finde Fehler einfach nicht
 
Kann es sein, dass in der DB ein Primärschlüssel oder ein Unique-Index existiert (z.B. für RegNr)? Dann kannst du jede Nummer nur einmal vergeben. Und wenn du zweimal den selben Eintrag machts, kommt so eine Fehlermeldung.

IngoD7 16. Jan 2007 20:34

Re: Kleines Problem mit Schleife, finde Fehler einfach nicht
 
Zitat:

Zitat von Bernhard Geyer
Delphi-Quellcode:
k:=stringgrid1.rowCount;
...
for k:=1 to (k-1) do
Kommt dir bei diesen 2 Zeilen nicht etwas komisch vor? k soll die Anzahl der Rows enthalten und wird als Schleifenvariable verwendet.

Zitat:

Zitat von mafiaente
na klaR! man bin ich bekloppt!naja sitz schon den ganzen tag dran, da kann man sowas schonma übersehen^^

Ruhig Blut. :lol: Das war zwar nicht hübsch, diese "doppelte" Verwendung von k, die du da hattest, aber es war auch nicht falsch, sondern funktionierte.

Deinen Fehler hattest du ja auch unverändert behalten. ;-)

mafiaente 16. Jan 2007 20:36

Re: Kleines Problem mit Schleife, finde Fehler einfach nicht
 
ok programm läuft jetzt so wie es soll! viele ndank für eure hilfe! thema kann nun geschlossen werden

-closed-


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:28 Uhr.
Seite 1 von 2  1 2      

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