A2010 Zahlenformate bei VBA-Übergabe

Hallo zusammen,

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?

Danke

VG

Holger

Hallo,

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?

Viele Grüße vom Bodensee
Franz, DF6GL

Hallo Franz,

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.

VG

Holger

Sehr geehrter ****Holger

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.

Conditional Formatting.

Mit freundlichem Gruß
TechPech 1984

Hallo,

Bedingte Formatierung nutzt da auch nichts.

Lass das ganze Format-Getönse weg und schreib die Einheit („Min“) als Bezeichnungfeld hinter das Textfeld.

Die Einheit ist ja eine Eigenschaft des Wertes und nicht der Wert selber, so dass die Einheit nicht gespeichert werden muss, nur lediglich angezeigt.

Viele Grüße vom Bodensee
Franz, DF6GL

Sehr geehrter df6gl

Bedingte Formatierung nutzt da auch nichts.

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.

Mit freundlichem Gruß
TechPech 1984

Hallo,

Bedingte Formatierung nutzt da auch nichts.

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…

Viele Grüße vom Bodensee
Franz, DF6GL