![]() |
Datenbank: Paradox • Version: 7? • Zugriff über: BDE
TTable.RecNo > TTable.RecordCount?
Hallo,
ich ermittle über diese Zeile ob ich auf dem letzten Datensatz stehe:
Delphi-Quellcode:
Bisher hat das funktioniert, dachte ich zumindest.
if MyTable.RecNoc = MyTable.RecordCount then
... Da ich seit neustem ein Problem mit der Software habe bin ich an genau die stelle geraten und siehe da: RecNo hat den Wert 15 und RecordCount den Wert 10. Wie kann das sein? Ich dachte RecNo ist der Index eines Datensatzes innerhalb der aktuell angezeigten Datenmenge? Ich würde gerne über MyTable.Eof gehen, aber da bekomm ich false wenn ich auf dem letzten Datensatz stehe. :( Ich arbeite über eine gefilterte Datenmenge. Die Gesamtanzahl aller Datensätze in der Tabelle ist aktuell 15 und die gefilterte Ansicht sind 10. Liefert mir RecNo den Index der ungefilterten Tabelle obwohl diese gefiltert ist? :gruebel: Wie stell ich dann fest ob ich auf dem letzten datensatz bin? Wie gesagt eof liefert auch false. |
AW: TTable.RecNo > TTable.RecordCount?
Ich meine mich erinnern zu können, dass man u.U. erst TTable.Last aufrufen muss, um den richtigen RecordCount zu erhalten.
|
AW: TTable.RecNo > TTable.RecordCount?
RecordCount stimmt ja eigentlich, die Anzahl der gefilterten Ansicht ist ja 10.
Nur RecNo verwirrt mich. Die Anzahl der geilfterten ist wie gesagt 10, wie kann RecNo dann auf einen Index 15 zeigen? |
AW: TTable.RecNo > TTable.RecordCount?
RecordCount sollte nicht verwendet werden. Das funktioniert je nach DBMS mehr schlecht als recht.
|
AW: TTable.RecNo > TTable.RecordCount?
Achso, sry, falsch herum verstanden. Bei Paradox und TTable kann ich leider nur sehr begrenzt weiterhelfen. Sag uns doch einfach, was Du mit dem Vergleich erreichen möchtest, evtl. geht es ja auch anders (TQuery z.B.).
|
AW: TTable.RecNo > TTable.RecordCount?
steht doch da, ich möchte rausfinden ob ich auf dem letzten Datensatz der gefilterten Datenmenge stehe.
Normal würde ich das per MyTable.eof machen aber das ist seltsamerweise auch false. Also ich hab ne TTable die mir eine gefilterte Menge in einem Grid anzeigt. In der Tabelle gibt es eine SortId die festlegt in welcher Reihenfolge die Datensätze angezeigt werden. Wenn ich auf dem letzten Datensatz stehe zähle ich einen fixen Wert zur SortId dazu und wenn ich irgendwo anders stehe nimm ich die Mitte als neue SortId. |
AW: TTable.RecNo > TTable.RecordCount?
EOF wäre ja auch erst nach einem TTable.Next true. Wie genau man mit TTable auf den letzten DS abfragen kann, entzieht sich momentan leider meiner Kenntnis.
|
AW: TTable.RecNo > TTable.RecordCount?
Ahhhhhhh ja das klappt xD
Ich mach einfach ein Next und prüfe dann eof. Wenn das True ist arbeite ich damit. sosnt mach ich ein prior. |
AW: TTable.RecNo > TTable.RecordCount?
was spricht gegen:
Delphi-Quellcode:
Edit:
while not table.eof do begin
// bla blub table.next; end; // letzter auslesen eintrag x := table['bcd'] ach nicht richtig gelesen -> dann halt Next+EOF wie schon von angel angemerkt wenn next fehlschlägt sollte der Datensatz der gleiche sein oder nicht? |
AW: TTable.RecNo > TTable.RecordCount?
wenn eof = true ist der datensatz der gleiche wenn eof = false dann nicht
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz