Start > Service > FAQ CW Reader

FAQ ConnectWare

Was bedeutet die Meldung "GELÖSCHT" in MS Access?

Was bedeutet die Meldung "GELÖSCHT"  in MS Access?

 

Beim Öffnen einer ODBC Tabelle unter Access erscheint in den Spalten der Tabelle die Meldung "GELÖSCHT".

 

Erläuterungen:

Für das Öffnen von Tabellen liest MS Access die Primärschlüsselwerte und generiert intern eine Zugriffstabelle mit den Schlüsselwerten. Mit diesen Werten führt Access SELECT Anweisungen mit WHERE Klauseln aus. Wenn etwas mit dem Primary Key nicht stimmt wird "Gelöscht" angezeigt, der Datensatz ist zwar nicht physikalisch gelöscht, aber MS Access findet den Satz nicht wieder und gibt diese Meldung aus.

Das kann z.B. passieren, wenn ein COBOL PIC Feld nicht korrekt mit Leerzeichen aufgefüllt ist. MS Access liest z.B. bei einem PIC X(10) Feld, das "ABC" beinhaltet den Wert "ABC". COBOL-seitig wird bei einem null terminierten String davon ausgegangen, dass das Feld mit Leerzeichen aufgefüllt ist.

So wird z.B. ein Feld PIC X (10) bei einem MOVE "ABC" mit "ABC" und "7 x Leerzeichen" belegt. So verhält sich auch ConnectWare, wenn die Werte an den Filehandler gegeben werden. Befinden sich in der ISAM Datei aber tatsächlich keine Leerzeichen, dann ist MS Access nicht mehr in der Lage den Schlüsselwert zu finden.

 

Lösung:

1. COBOL-seitig dafür sorgen, dass das Feld korrekt mit Spaces aufgefüllt ist oder

2. Bei der Spaltendefinition in ConnectWare den SQL Typ des Primaryschlüssels von "CHAR" auf "BINARY" ändern. Dann werden alle 10 Bytes mit ihrem tatsächlichen Inhalt übergeben.

Ähnliche Probleme treten auch bei USAGE DISPLAY oder COMP-3 Feldern auf, wenn diese COBOL-seitig mit Leerzeichen oder Low Value initialisiert sind. Hier müssten die Felder korrekt mit "0" initialisiert werden oder eben mit gültigen Werten belegt werden.

 

Für weitere Hilfe kontaktieren Sie bitte den PARKWAY Support über das Kontaktformular.

Zuletzt aktualisiert am 2010-02-07 von Kristina Roock.

Zurück