AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken TTable.RecNo > TTable.RecordCount?
Thema durchsuchen
Ansicht
Themen-Optionen

TTable.RecNo > TTable.RecordCount?

Ein Thema von Angel4585 · begonnen am 12. Aug 2011 · letzter Beitrag vom 15. Aug 2011
Antwort Antwort
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#1

TTable.RecNo > TTable.RecordCount?

  Alt 12. Aug 2011, 12:32
Datenbank: Paradox • Version: 7? • Zugriff über: BDE
Hallo,

ich ermittle über diese Zeile ob ich auf dem letzten Datensatz stehe:
Delphi-Quellcode:
if MyTable.RecNoc = MyTable.RecordCount then
 ...
Bisher hat das funktioniert, dachte ich zumindest.
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?
Wie stell ich dann fest ob ich auf dem letzten datensatz bin? Wie gesagt eof liefert auch false.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: TTable.RecNo > TTable.RecordCount?

  Alt 12. Aug 2011, 12:34
Ich meine mich erinnern zu können, dass man u.U. erst TTable.Last aufrufen muss, um den richtigen RecordCount zu erhalten.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#3

AW: TTable.RecNo > TTable.RecordCount?

  Alt 12. Aug 2011, 12:35
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?
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: TTable.RecNo > TTable.RecordCount?

  Alt 12. Aug 2011, 12:36
RecordCount sollte nicht verwendet werden. Das funktioniert je nach DBMS mehr schlecht als recht.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: TTable.RecNo > TTable.RecordCount?

  Alt 12. Aug 2011, 12:38
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.).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#6

AW: TTable.RecNo > TTable.RecordCount?

  Alt 12. Aug 2011, 12:41
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.
Martin Weber
Ich bin ein Rüsselmops

Geändert von Angel4585 (12. Aug 2011 um 12:44 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: TTable.RecNo > TTable.RecordCount?

  Alt 12. Aug 2011, 12:47
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#8

AW: TTable.RecNo > TTable.RecordCount?

  Alt 12. Aug 2011, 12:49
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.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#9

AW: TTable.RecNo > TTable.RecordCount?

  Alt 14. Aug 2011, 22:10
was spricht gegen:

Delphi-Quellcode:
while not table.eof do begin
  // bla blub
  table.next;
end;
// letzter auslesen eintrag
  x := table['bcd']
Edit:
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?

Geändert von brechi (14. Aug 2011 um 22:13 Uhr)
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#10

AW: TTable.RecNo > TTable.RecordCount?

  Alt 15. Aug 2011, 07:26
wenn eof = true ist der datensatz der gleiche wenn eof = false dann nicht
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:57 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