Ein-/Ausgabeformat

Hallo zusammen,

ich habe wieder mal ein Problem.
In einer Datenbank existiert ein Textfeld, für das in einem Formular folgendes Eingabeformat definiert wurde: 99999"/„999;_
Der Anwender kann also vor dem Schrägstrich bis zu 5 und nach dem Schrägstrich bis zu 3 Ziffern erfassen.
Der Schrägstrich wird dabei nicht gespeichert, jedoch im Formular angezeigt.
Erstelle ich nun einen Bericht, der auf der Tabelle basiert, wird natürlich (oder unglücklicherweise) der Schrägstrich nicht mit ausgedruckt, was in meinem Fall bedeutet, dass die Daten nicht zu gebrauchen sind.
Gibt es eine Möglichkeit, auch in Berichten das im Formular angezeigte Format anzuwenden?
Die bereits erfaßten Daten zu überarbeiten und für künftige Eingaben das Eingabeformat zu ändern ( 99999“/"999;0;_ ) wäre zwar eine Möglichkeit, da jedoch bereits ca. 6000 Datensätze erfaßt sind, würde ich diese nur ungern in Betracht ziehen.
Danke für Eure Hilfe.

Gruß
Uli

Hallo, Uli!

Erstelle ich nun einen Bericht, der auf der Tabelle basiert,
wird natürlich (oder unglücklicherweise) der Schrägstrich
nicht mit ausgedruckt, was in meinem Fall bedeutet, dass die
Daten nicht zu gebrauchen sind.

Du kannst doch auch das Format des betreffenden Textfeldes so einstellen wie im Formular. Wenn das nicht geht, kannst Du auch das Textfeld nicht an [Tabellenfeld], sondern an =Format$([Tabellenfeld], „#####/###“) binden (Steuerelementinhalt).

Die bereits erfaßten Daten zu überarbeiten und für künftige
Eingaben das Eingabeformat zu ändern ( 99999"/"999;0;_ ) wäre
zwar eine Möglichkeit, da jedoch bereits ca. 6000 Datensätze
erfaßt sind, würde ich diese nur ungern in Betracht ziehen.

Wäre aber auch mit einer Aktualisierungsabfrage gemacht, Aufwand ca. 1 Minute…

Gruß, Manfred

Hallo Manfred,

danke für den Tipp.
Aber das funktioniert leider nicht.
Egal ob in der Abfrage oder im Bericht - sobald ich das Format eingegeben habe, ändert es Access um in:

=Format$([Tabellenfeld], „#/#“)

Als Ergebnis erhalte ich dann, unabhängig von der Anzahl der erfaßten Stellen, immer eine Stelle nach dem Schrägstrich. Der Strich steht also immer vor der letzten Ziffer…

Ich habe dann folgendes Format probiert:

=Format([Tabellenfeld], „@@@@@/@@@“)

Dies funktioniert aber auch nur, wenn alle Daten gleich erfaßt sind, und zwar so, dass Leerstellen immer nach den Ziffern folgen…

Ein Beispiel (_ steht für ein Leerzeichen):

Erfaßt wurde:

  1. 1458_/11_
  2. _1458/11_

das Format liefert:

  1. 1458/_11
  2. 145/811

hmmm?!?

Gruß
Uli

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

Hallo zusammen,

Hallo auseinander.

In einer Datenbank existiert ein Textfeld, für das in einem
Formular folgendes Eingabeformat definiert wurde:
99999"/"999;_
Der Anwender kann also vor dem Schrägstrich bis zu 5 und nach
dem Schrägstrich bis zu 3 Ziffern erfassen.
Der Schrägstrich wird dabei nicht gespeichert, jedoch im
Formular angezeigt.

Dabei entsteht Dein Problem ganz logisch. Nehmen wir zwei Datensätze (b ist ein blank) :

1. b4711/05b
2. bb471/105

kannst Du beide mit Deiner Erfassungsmaske anlegen und bekommst im Formular auch die entsprechende Anzeige; gespeichert wird aber in beiden Fällen die Zeichenkette „471105“, ohne dass Du später die Möglichkeit hast, beide Datensätze auseinanderzuhalten. Mit anderen Worten : Du kannst Dich im Bericht zu Tode formatieren - das Ergebnis ist nicht eindeutig zu definieren.

Damit bleibt Dir nix übrig, als den Datenbestand zu überarbeiten … ich würde zwei Felder mit den Formaten „99999“ und „999“ definieren. Erfassen kann man es immer noch so wie bisher; Du müsstest dann nur die Intelligenz zur Verteilung des Erfassungsfeldes auf zwei Tabellenfelder im Formular hinterlegen. Mir scheint das der einzige krückenfreie Ausweg aus dem Dilemma zu sein,

meint kw
*wogrüßt*