TurboPL Referenz

CheckMemos Prozedur

Top  Previous  Next

Syntax

CheckMemos(Tabelle: Integer): Integer;

Kategorie

Datenbank-Befehl

Erklärung

CheckMemos prüft die Memo-Datei der Tabelle auf evtl. Fehler.

Der Rückgabewert ist:

1

Alles ok, aber manche Blöcke sind verwaist. Restrukturieren der Tabelle würde die Memo-Datei verkleinern

0

Alles ok

-1

Die Memodatei ist abgeschnitten, wahrscheinlich fehlen Daten. Restrukturieren der Tabelle stellt zumindest wieder einen fehlerfreien Zustand her.

-2

Die Liste der freien Blöcke überschneidet sich. Tabelle restrukturieren, kein Datenverlust.

-3

Mindestens ein Datensatz enthält einen ungültigen Memo-Verweis. Tabelle restrukturieren. Wahrscheinlich wurden schon Daten verloren.

-4

Mindestens ein Memo überschneidt sich mit der Freiliste. Tabelle dringend restrukturieren, um Datenverlust zu verhindern.

-5

Die Memos überschneiden sich. Sie haben doppelte Memos in der Tabelle.Restrukturieren Sie die Tabelle, dann können Sie die defekten Memos wieder korrigieren.

Falls die angegebene Tabelle über kein Memo verfügt, wird 0 zurückgegeben.

Achtung

Falls Sie einen negativen Rückgabewert erhalten, müssen Sie auf jeden Fall die Tabelle restrukturieren, um wieder einen fehlerfreien Zustand herzustellen. Sichern Sie aber in jedem Fall zuvor alle Dateien der Tabelle, damit ggf. verlorene Daten wiederhergestellt werden können und prüfen Sie nach dem Restrukturieren, ob Ihre Daten in Ordnung sind.

Beispiel

Dieses Routine prüft alle Memos eines Projektes mit 11 Tabellen:

const TableNum = 11;
 
procedure CheckAllMemos;
       vardef TableNo, Result: Integer;
       for TableNo := 1 to TableNum                                
               Result := CheckMemos(TableNo);
               if Result = 1
                       Message("Die Tabelle " + DbName(TableNo) + " sollte mal restrukturiert werden");
               elsif Result < 0
                       Message("Die Tabelle " + DbName(TableNo) + " muss restrukturiert werden. Datenverlust möglich.");
               end;
       next;
endproc