Autor Beitrag
D. Annies
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Do 03.01.08 13:49 
Hi, Delpher,

mit dem folgenden Code lade ich eine Tabelle:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure Tform1.lade_buecher(sender:tobject);
begin
  TbBuecher.Active := false;
    TbBuecher.TableName := concat(label30.caption, 'buecher.dbf');
  TbBuecher.active := true;
  progressbar2.max := TbBuecher.RecordCount; //showmessage(inttostr(TbBuecher.RecordCount));
  qBuecherSort(self);
  //TbBuecher.CachedUpdates := false; QBuecher.CachedUpdates := false;  // *** !!! ???
end;


Der Recordcount zeigt 11831 Datensätze an. In der BDE finde ich aber die Zahl 11849. Die BDE-Zahl ist richtig.

Was bedeutet das/ diese Abweichung?

Danke für Hilfe,
Detlef A.
zuma
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 660
Erhaltene Danke: 21

Win XP, Win7, Win 8
D7 Enterprise, Delphi XE, Interbase (5 - XE)
BeitragVerfasst: Do 03.01.08 15:07 
hab ein ähnliches problem mit ner anderen DB gehabt ...
Versuche mal, nach dem öffnen der Datenmenge ein
Datenmenge.Last;
Datenmenge.First;
und dann den Recordcount ...
könnte sein, das nicht alle Datensätze der DB abgerufen werden, solange sie nicht angesprochen/visualisiert wurden ?

_________________
Ich habe nichts gegen Fremde. Aber diese Fremden sind nicht von hier! (Methusalix)
Warum sich Sorgen ums Leben machen? Keiner überlebts!
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Do 03.01.08 15:53 
Hi, zuma,

danke für deine Idee, aber daran liegt es nicht.

Gruß, Detlef
P.S. Es ist eine DBase-Tabelle
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Do 03.01.08 16:05 
user profile iconD. Annies hat folgendes geschrieben:
Der Recordcount zeigt 11831 Datensätze an. In der BDE finde ich aber die Zahl 11849. Die BDE-Zahl ist richtig.
Hast du nachgezählt? :lol:

Habe lange nicht mehr mit dBase gearbeitet. Es könnte evtl sein, dass in der Tabelle gelöschte Datensätze existieren. dBase-Tabellen haben dafür nur ein Löschkennzeichen. Da du vermutlich mit dem DB-Explorer nachgesehen hast, könnte es sein, dass dir dort alle Datensätze angezeigt werden. Auch die Gelöschten. Diese allerdings mit dem Lösch-Kennzeichen. Wenn man direkt mit der dBase-Oberfläche arbeitet, kann man sich das auch anzeigen lassen.

Somit wäre der Wert in deinem Programm korrekt und nicht der andere.
D. Annies Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1843

windows 7
D6 Enterprise, D7 Pers und TD 2006
BeitragVerfasst: Do 03.01.08 16:58 
Hi, Peter,

ja, du hsat recht. Nach dem Packen der Tabelle waren dort auch nur noch 11831 DS.
So, mal sehen,was als nächstes (für ein Fehler) kommt. :P

Danke, Detlef