ich befülle per vba-code eine Textbox. Für diese Textbox
ist ein Zahlenformat vorgegeben. Dieses Format wird nach
dem einsetzen des Zahlenwertes aber nicht übernommen.
Repaint aufs Formular und Requery auf die Textbox bringen
nix.
Zweiter Ansatz: Selber die Zahl formatieren und dann über-
geben. Dann wird das Zahlenformat aber mit in die Box ge-
schrieben und ich muss nervig beim auslesen das Format
wieder entfernen. Das ist alles nicht zielführend.
Kennt jemand das Phänomen? Was ist eine praktikable Lösung?
mit VBA schreibst Du WERTE in die Textbox, mit einem (Anzeige-)Format ZEIGST Du Werte nach Deinem Gusto an. Anzeigeformate sind Schall und Rauch und vernebeln die Sicht auf die richtigen Werte in der Tabelle.
Eingabeformate formatieren die manuell eingegebenen Daten entspr. um und können den formatierten Wert je nach Einstellung auch speichern, das geht aber nur über manuelle Textfeldeingabe.
Insgesamt sollten Formatangaben so wenig wie möglich Verwendung finden.
Wie sieht denn Deine Format-Einstellung konkret aus?
danke für die Antwort - nur was ist eigentlich die Aussage?
Was schreibt und was zeigt weis ich.
In der TextBox soll angezeigt werden z.B. ‚45 Min‘, der
tatsächliche Wert der TextBox ist natürlich 45.
Grundlagen verstanden…
Solange ich manuell Zahlen eintippe geht das auch wunderbar
ich tippe 45 angezeigt wird 45 Min - kein Problem
Aber: schreibe ich per VBA-Code 45 in die TextBox steht da
auch nur 45. Und ich möchte gerne Wissen, wie ich ohne zig
Hilfskonstrukte 45 Min anzeigen lassen kann.
Können sie Ihren Code in Form eines Beispiels hier Posten.
Und bitte prüfen welcher Input vorhanden ist (Text/Zahl).
Es scheint ja das die Übergabe nicht als Zahl sondern als Text erfolgt.
Sie meinen die User definierte Möglichkeit . Ich die Eingebaute.
Hier ist die Bedingung ‚sei eine Zahl dann formatier ich Dich‘ .
Ja wenn man keine Lösung kennt kann man gerne den Weg neu zeichnen .
Aber wenn der Value 3 ist nach Manueller – Eingabe ein Int im Value der als 3 Min angezeigt wird während bei Ihrer Lösung im Wert Feld ein ‚3 Min‘ als Text steht.
Und das weicht aber deutlich ab .
Ist auch weniger schick in einem Formular . Einmal soll ich den Wert so behandeln und andern mal muss ich Prüfen ob Text mit drinnen steckt…
Warum soll ich also Text schreiben wenn ich sonst auch Werte habe.
Sie meinen die User definierte Möglichkeit . Ich die
Eingebaute.
Hier ist die Bedingung ‚sei eine Zahl dann formatier ich Dich‘
.
Ja wenn man keine Lösung kennt kann man gerne den Weg neu
zeichnen .
Aber wenn der Value 3 ist nach Manueller – Eingabe ein Int im
Value der als 3 Min angezeigt wird während bei Ihrer Lösung
im Wert Feld ein ‚3 Min‘ als Text steht.
Und das weicht aber deutlich ab .
Ist auch weniger schick in einem Formular . Einmal soll ich
den Wert so behandeln und andern mal muss ich Prüfen ob Text
mit drinnen steckt…
Warum soll ich also Text schreiben wenn ich sonst auch Werte
habe.
Sorry, ich versteh das nicht ganz…
Das Problem hier liegt im Grunde an falscher Konzeption…
Ein Textfeld (das an ein Tabellenfeld vom Datentyp Zahl/Long gebunden ist), braucht/kann keinen Text beinhalten. Das soll aber auch nicht gemacht werden, sondern es soll ein numerischer Wert eingegeben werden, der vom Textfeld für die Anzeige(!) mit einer Einheit „formatiert“ werden soll
Im Textfeld sollte nur ein numerischer Wert stehen und keine (dazugehörende) Einheit… Diese „Einheit“ ist obsolet und kann als „Überschrift“ aufgefasst werden—> angezeigt mit einem Bezeichnungsfeld. Dann braucht auch kein Text oder was anderes geprüft werden…