Entwickler-Ecke
Datenbanken - ein Click zuviel bei table1.eof (gelöst)
Klaus22 - Sa 31.01.04 17:53
Titel: ein Click zuviel bei table1.eof (gelöst)
hai zusammen,
ich habe mal wieder ein problem: ich habe in meinem programm einen button, welcher jeweils bei click einen datensatz in meinem dbgrid weiterspringt. ist der letzte erreicht möchte ich diesen deaktivieren. das funktioniert auch, aber erst wenn ich beim letzten markierten noch einmal auf den button klicke. da ist der letzte satz im dbgrid aber schon markiert. folgenden code habe ich verwendet.
Delphi-Quelltext
1: 2: 3:
| table1.next; if table1.eof = true then btnNext.enabled := false; |
weiß jemand wie das zu realisieren ist ?
kann man die standardfarbe blau, bei markierten datensätzen auch ändern ?
gruß + danke
Moderiert von
Klabautermann: Topic Verschoben. Code durch Delphi-Tags ersetzt.
Delete - Sa 31.01.04 19:03
Du hast 100 DS. Nun, woher soll die DB wissen, dass nach dem DS 100 keiner mehr kommt? Das kann sie erst feststellen, wenn sie versucht den 101'sten anzuspringen. ;)
fränk0815 - Sa 31.01.04 19:22
Eventuell könnte das so klappen:
Delphi-Quelltext
1: 2: 3: 4:
| procedure TForm1.Table1AfterScroll(DataSet: TDataSet); begin button1.enabled := not DataSet.Eof; end; |
Moderiert von
Klabautermann: Code durch Delphi-Tags ersetzt.
jjturbo - Di 03.02.04 11:39
Bei Paradox gehts so:
Button1.Enabled:=Table1.RecNo < Table1.RecordCount;
Bei DBase darfst Du die Datensatznummern so nicht verwenden. Da würrde ich es so lösen:
Table1.Next;//Das wäre der gewünschte Datensatz...
//Jetzt noch prüfen, ob das der letzte Datensatz ist
Table1.Next;
if Table1.Eof
then Button1.Enabled:=false
else Table1.Prior;
Gruß, jjturbo
Klaus22 - Di 03.02.04 12:42
:P Danke für die vielen Tipps. Folgender Code und es funzt.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.Button9Click(Sender: TObject); begin if Table1.RecNo = Table1.RecordCount-1 then begin table1.Next; Button9.Enabled := false end else begin table1.Next; end; end; |
Vielen Dank nochmal für Eure Tipps !
mfg Klaus :D
jjturbo - Di 03.02.04 13:16
Aber Achtung!!!
RecNo bei DBase-Tabellen funktioniert nicht! Wenn in einer leeren, neu erstellten DBase-Tabelle z.B. fünf Datensätze eingepflegt werden, so haben diese die Datensatznummern 1-5. Wird jetzt der Datensatz mit der Nummer 3 gelöscht und ein neuer Datensatz eingefügt, so haben die Datensätze jetzt die Nummern:1,2,4,5,6 !!!
Append und Insert bei einer DBase-Tabelle hängen immer Daten an die Tabelle an. Wirklich Daten einfügen geht hier nicht. Zumindest habe ich noch keine Möglichkeit dafür gefunden. Ein Grund mehr auf Paradox umzusteigen ;-)
Gruß, jjturbo
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!