Probleme bei Konvertierung Text -> Ja/Nein

Hallo,
ich hab da eine alte dBase4-Datenbank, die ich nach Access portieren soll. Manche Tabellen enthalten Felder die als Ja/Nein Felder fungieren.
Aber mit den damaligen Mitteln wurde das einfach als Feld vom Typ Text mit Länge 1 erstellt. Eingetragen wird ein „J“ oder ein „N“.
Ich hab nun diese Tabelle in Access bearbeitet. Feldlänge auf 10 erhöht und dann alle J mit Ja und alle N mit Nein ersetzt.
Danach stelle ich den Typ von Text auf Ja/Nein um und das sollte es gewesen sein. Zumindest laut Hilfe.

Ist aber nicht so. Wenn ich nach Umstellung des Datentyps auf Speichern klicke, kommt die Fehlermeldung, dass aus einigen (eigentlich alle) Feldern die Inhalte gelöscht wurde und ob ich weitermachen will. Nein. (Bei Ja werden alle Felder auf Nein gesetzt.) Wenn ich dann aus der Tabelle rausgehe, ohne die Änderungen des Datentyps zu speichern, werden mir aber tatsächlich Checkboxen in der Datenblattansicht angezeigt, obwohl der Datentyp für dieses Feld nach wie vor „Text“ ist.

Kann mir jemand sagen, warum das so komisch abläuft bzw. wie man das korrekt auf Ja/Nein konvertieren kann?

Gruß, Andreas

Hallo Andreas,

Aber mit den damaligen Mitteln wurde das einfach als Feld vom
Typ Text mit Länge 1 erstellt. Eingetragen wird ein „J“ oder
ein „N“.
Ich hab nun diese Tabelle in Access bearbeitet. Feldlänge auf
10 erhöht und dann alle J mit Ja und alle N mit Nein ersetzt.

warum?

Danach stelle ich den Typ von Text auf Ja/Nein um und das
sollte es gewesen sein. Zumindest laut Hilfe.

nö, das ist es garantiert nicht

Kann mir jemand sagen, warum das so komisch abläuft

ja, kann jemand :smile:

bzw. wie man das korrekt auf Ja/Nein konvertieren kann?

Access (welche Version du auch immer haben mögest) interpretiert TRUE/FALSE , JA/NEIN als „Zahlenfolgen“ -1 und 1.

Ich gehe mal davon aus, dass du die Dbase4 Tabelle importiert hast!?
Erstelle nun ein NEUES Feld als J/N bzw. True/False Feld.

Erstelle eine Aktualisierungsabfrage, womit du die NEINs in FALSE und die JAs in TRUE in dem neuen Feld abspeicherst.
Wenn alles stimmt, lösche einfach das alte überflüssige Feld.

Grüße aus Raben Steinfeld (bei Schwerin)
Wolfgang
(Netwolf)

Ich hab nun diese Tabelle in Access bearbeitet. Feldlänge auf
10 erhöht und dann alle J mit Ja und alle N mit Nein ersetzt.

warum?

Weil in der Hilfe drinsteht, dass bei der Konvertierung Wörter wie „Ja“ und „Nein“ korrekt erkannt werden.

Danach stelle ich den Typ von Text auf Ja/Nein um und das
sollte es gewesen sein. Zumindest laut Hilfe.

nö, das ist es garantiert nicht

Das hab ich ebenfalls festgestellt.

Access (welche Version du auch immer haben mögest)

2003

interpretiert TRUE/FALSE , JA/NEIN als „Zahlenfolgen“ -1 und 1.

Laut Access ist True = 1 und False alles andere außer 1.
Aber das dürfte auf dasselbe rauslaufen…

Ich gehe mal davon aus, dass du die Dbase4 Tabelle importiert
hast!?

Richtig.

Erstelle nun ein NEUES Feld als J/N bzw. True/False Feld.
Erstelle eine Aktualisierungsabfrage, womit du die NEINs in
FALSE und die JAs in TRUE in dem neuen Feld abspeicherst.
Wenn alles stimmt, lösche einfach das alte überflüssige Feld.

Würde es auch funktionieren, wenn ich einfach die J’s in 1 und die N’s in 0 ändere und dann das Feld in Ja/Nein ändere?

Aber danke mal für deine Tipps. Ich werd das morgen gleich ausprobieren.
Gruß, Andreas

Hallo Andreas,

Würde es auch funktionieren, wenn ich einfach die J’s in 1 und
die N’s in 0 ändere und dann das Feld in Ja/Nein ändere?

auch das wäre eine Möglichkeit …

Grüße aus Raben Steinfeld (bei Schwerin)
Wolfgang
(Netwolf)

Hallo,

ein kleine Anmerkung zu den vorherigen Posts: Nein = 0 und Ja = -1.
Allerdings funkioniert das nur falls das Quellfeld numerisch deklariert ist.

Aber ein vieleicht auch gangbare Moeglichkeit waere der Umweg ueber eine Tab-separierte Textdatei. Denn dann kannst du mittels der Importspezifikation in Access doch ein paar wenige, aber mehr als keine Eingriffe fuer die Importdefinitionen machen.

Tschau
Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]