Anzahl Sätze in einer Datenbank

Eigentlich ist mir die Frage peinlich, aber es kann sonst niemand helfen ... :)

Moderator: Moderatoren

Antworten
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Anzahl Sätze in einer Datenbank

Beitrag von Koverhage »

Die Frage ist mir schon peinlich, aber hoffe das mir trotzdem jemand helfen kann.

Wie kann ich die echte Anzahl (ohne die als gelöscht markierten) feststellen ?
Lastrec() oder Reccount() geben ja nur die Anzahl inklusive den gelöschten Sätzen zurück.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hallo Klaus,

ich meine das Thema hatten wir von ein paar Wochen schon mal.

Es gibt keinen einfachen Befehl wie Lastrec() und es kann diesen auch nicht geben. Wenn die Geschwindigkeit nicht allzu wichtig ist hilft dies:

Code: Alles auswählen

nAnzahl := 0
xyz->(dbeval({|| nAnzahl++}, {|| ! deleted() }))
wenn das zu langsam ist, könnte man einen eigenen Index pflegen:

Code: Alles auswählen

index on SortFeld for deleted()
...
count all to nAnzahlDeleted
nAnzahlRecords := lastrec() - nAnzahlDeleted
in diesem Beispiel habe ich extra auf deleted() gesetzt und diese gezählt, da das meist weniger sind.

Oder man macht eine eigene Funktion für delete und recall, in der man die Anzahl der gelöschten Datensätze mitzählt. Dann müsste man nur einmal beim Öffnen den Ursprungswert ermitteln. Das könnte aber fehlerträchtig sein ;-)
Gruß
Hubert
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Beitrag von Jan »

Hallo Klaus,

nur weil ich eine sehr ähnliche Frage neulichst auch gestellt habe: Schau doch mal da nach: http://www.xbaseforum.de/viewtopic.php?t=1685

Jan
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Beitrag von Koverhage »

Danke Hubert und Jan,

werde wohl die "langsame Version" nehmen.
Antworten