Access-o-Mania

Access-Forum (Deutsch/German) => Bericht => Thema gestartet von: petermeier am März 21, 2012, 14:21:33

Titel: Textfeld formatieren; Quelle Datumstextfeld (Access 2007)
Beitrag von: petermeier am März 21, 2012, 14:21:33
Hallo

Ich habe einen Bericht mit unter anderem zwei Textfeldern.
Textfeld A gibt jeweils ein Datum aus wie z.B. 02.04.2012. Es kann aber auch sein, dass anstelle eines Datums der Wert 00:00:00 erscheint.

In einem Textfeld B habe ich folgende Formatierung hinterlegt (Steuerelementinhalt), dass nur der Monat und Jahr aufgrund der Info in Textfeld A ausgegeben wird: =Format$([K];"mmmm jjjj";0;0)

Das funktioniert soweit gut ausser wenn im Textfeld A "00:00:00" vorliegt, berechnet Access im Textfeld B trotzdem ein Monat und Jahr was dann Dezember 1899 ergibt.

Wie kann ich bei diesem Steuerelementinhalt noch hinzufügen, dass wenn "00:00:00" in Textfeld A erscheint, dass dann kein Monat/Jahr berechnet werden soll, sondern nur ein "-" ausgegeben werden soll?

Titel: Re: Textfeld formatieren; Quelle Datumstextfeld (Access 2007)
Beitrag von: DF6GL am März 21, 2012, 15:04:00
Hallo,

eigentlich sollte man das Übel an der Wurzel packen und herausziehen, statt an Symptomen herumzudoktern...

=IIF (Int(nz([K];0)) =0 ;"-";Format(nz([K];0);"mmmm jjjj"))




Titel: Re: Textfeld formatieren; Quelle Datumstextfeld (Access 2007)
Beitrag von: petermeier am März 21, 2012, 15:14:34
Danke Frank, aber es ergibt einen syntaktischen Fehler (kein Operator)....

Was ist denn das Übel? Es ist bewusst, dass im Textfeld A (sprich K) manchmal ein Datum vorhanden ist oder eben nicht, was
dann als 00:00:00 dargestellt wird...
Titel: Re: Textfeld formatieren; Quelle Datumstextfeld (Access 2007)
Beitrag von: DF6GL am März 21, 2012, 15:29:53
Hallo,

ja, Freudsche Fehlleistung..     8)


Statt "Then" muss ein Semikolon stehen.  Hab das im vorherigen Posting geändert.


"Was ist denn das Übel?"


Du hast erzählt, es steht 0 drin....  das sollte bei Datumsfeldern gar nicht sein.  0 ist aber auch was anderes als "leer"  (NULL), deshalb die nZ()-Funktion, die ein leeres Feld abfängt.


Auch leere Datumsfelder  sollten in einer Tabellenicht auftauchen. Das könnte z. B. bei der Eingabe der Daten (mittels Formular) schon überprüft/unterbunden werden. Weiterhin könnte man die Eigenschaften ("Eingabe erforderlich", "leere Zeichenfolge") des Tabellenfeldes entsprechend einstellen.


Wenn man leere Felder zuläßt
Titel: Re: Textfeld formatieren; Quelle Datumstextfeld (Access 2007)
Beitrag von: petermeier am März 21, 2012, 15:50:05
ok, so funktioniert es mit einer noch zuätzlichen ")" am Schluss...

Vielen Dank!


Vielleicht war mein Gedankengang nicht ganz korrekt. Aber die Eingabe einer "0" kommt daher,
dass eine Berechnung anhand mehreren Feldern durchgeführt wird. Im Feld "fixe Laufzeit" kann es eben vorkommen,
dass keine Lauzeit vorliegt und dann wird "0" eingegeben, dass anschliessend die Berechnung nicht durchgeführt wird!
Dies einfach als Info...
Titel: Re: Textfeld formatieren; Quelle Datumstextfeld (Access 2007)
Beitrag von: DF6GL am März 21, 2012, 17:22:29
Hallo,

ist ja ok,  und wenn Du damit auch klar kommst, soll mir das Recht sein....   ;)