Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

leere Textfelder in Bericht mit VBA formatieren

Begonnen von andreasl4099, Juli 13, 2010, 13:28:25

⏪ vorheriges - nächstes ⏩

andreasl4099

Hallo forum!

Hab ein Problem in einem Bericht mit leeren Textfeldern, welche sich mittels VBA nicht formatieren lassen!

Ich ändere je nach einer Bedingung eines anderen Textfeldes die Schriftgröße und die Höhe der Felder und en Huntergrund. Bei Textfeldern mit Inhalt ist das kein Problem. Bei den leeren
(oder Null?) funktioniert das leider nicht. Habe schon mit NZ usw versucht - kein Erfolg!

Hier der Code:

If Me.Output = "Differenz" Then
Me.VHNummer.FontBold = False
Me.VHNummer.FontSize = 7
Me.VHNummer.Height = 250
Me.VHNummer.BackColor = RGB(216, 216, 216)
Else
Me.VHNummer.FontBold = True
Me.VHNummer.FontSize = 8
Me.VHNummer.Height = 300
Me.VHNummer.BackColor = RGB(255, 255, 255)
End If



Bitte um Hilfe

Danke  ???


MzKlMu

Hallo,
auch so schon:

If Nz(Me!Output,"") = "Differenz" Then
Gruß Klaus

andreasl4099

Hallo MzKlMu!

Danke für die schnelle Antwort!

Mein Problemfeld ist nicht "Output" sondern "VHNummer"!

Output ist immer gefüllt - nur VHNummer nicht immer!

lg und Danke ;)

database

Hi,

If Nz(Me!VHNummer,"") = "Irgendwas" Then

oder

If Nz(Me!VHNummer,0) > 25 Then

Grüße

Peter

DF6GL

Hallo,


"Problem in einem Bericht mit leeren Textfeldern, welche sich mittels VBA nicht formatieren lassen!"


halte ich für ein Gerücht, es sei denn, die Felder existieren gar nicht, z. B. weil der Detailbereich wegen Datenmangels gar nicht existiert.

andreasl4099

Hallo

Die Berichtsfelder:

Output                VHNummer
Gross                    123
Differenz               ""

Die Formatierung soll laut 1. Code erfolgen:
Es soll wenn Feld Output den Text "Differenz" erhält das Feld VHNummer grau sein, sonst die Formatierung laut Code erfolgen
Das Problem ist, dass wenn im Feld Output Differenz steht das Feld VHNummer Leer ist!

Habe mich hoffentlich jetzt verständlich ausgedrückt

Danke

lg

Andi

DF6GL

Hallo,

das habe ich schon verstanden..


Nur, WO stehen die Felder und  in welcher Ereignisprozedur führst Du den Code aus?

Wenn die Felder im Detailbereich des Berichtes stehen, dann so:

Sub Detailbereich_Format(...)
If nz(Me!Output,"") = "Differenz" Then
Me!VHNummer.FontBold = False
Me!VHNummer.FontSize = 7
Me!VHNummer.Height = 250
Me!VHNummer.BackColor = RGB(216, 216, 216)
Else
Me!VHNummer.FontBold = True
Me!VHNummer.FontSize = 8
Me!VHNummer.Height = 300
Me!VHNummer.BackColor = RGB(255, 255, 255)
End If

End Sub

andreasl4099

Hallo Franz!

Die Felder sind im Detailbereich und ich habe es mit deinem Beispiel versucht - leider ohne Erfolg. Es ist nicht Output leer sondern VHNummer und anscheinend lassen sich Felder ohne Inhalt nicht formatieren?!?

Habe auch schon mit z.B:  "Nz (Me!VHNummer,"").FontBold = False "     versucht - geht auch nicht!

noch was:

gibt es die Möglichkeit im bericht die Felder nach einem anderen Feld dynamisch zu erhöhen?

Danke  lg

Andi

bahasu

Zitat von: andreasl4099 am Juli 14, 2010, 06:50:53
gibt es die Möglichkeit im bericht die Felder nach einem anderen Feld dynamisch zu erhöhen?

Danke  lg

Andi


Moin Andi
Eventuell erreichst Du Dein Ziel mit der Eigenschaft "Vergrößerbar = Ja". Die findest Du bei den Eigenschaften des Steuerelementes im Reiter Format.


Zum Einstellen der Farbeigenschaften:
Hatte mal festgestellt, dass die per VBA festgelegte Hintergrundfarbe erst dann übernommen wird, wenn ich zuvor bei den Formateigenschaften  im betroffenen Steuerelement die Farbe manuell eingestellt hatte.

Harald
Servus

andreasl4099

Morgen Harald

Das eine Feld vergrößert sich je nach Text dynamisch, nur die anderen in der betreffenden Zeile nicht.

lg

Andi

bahasu

Zitat von: andreasl4099 am Juli 14, 2010, 08:41:35

... nur die anderen in der betreffenden Zeile nicht.

Hi Andi,
Ist dort die genannte Eigenschaft "Vergrößerbar" auf Ja gesetzt?
Eventuell muß auch im Bereich (vermutlich "Detailbereich") diese Eigenschaft gesetzt werden.

Harald
Servus

andreasl4099

Hallo Harald

habe alle Eigenschaften auf vergrößerbar eingestellt - ist diesem Bericht aber egal

lg

Andi

bahasu

Hi Andi,

kannst Du deine gezippte Datenbank mit ein paar Testdaten zur Verfügung stellen?

Harald
Servus

andreasl4099

Hallo
Habe die Datei angehängt und es funktioniert alles wenn in den Feldern ein Zeichen ist.
Habe zu Probe in einen Datensatz ein Zeichen in die betreffende Spalte (VHNummer) eingefügt.

Es sollten alle Zeilen mit Argument (Differenz) in Output grau hinterlegt werden.
Beim Testdatensatz, welcher in der Tabelle ist, habe ich ein Zeichen geschrieben  und die Schrift mit VBA auch auf grau gestellt.

Viel Spass damit ;D

Lg

Andi

[Anhang gelöscht durch Administrator]

bahasu

Zitat von: andreasl4099 am Juli 14, 2010, 15:00:19
Hallo
Habe die Datei angehängt und es funktioniert alles wenn in den Feldern ein Zeichen ist.
Habe zu Probe in einen Datensatz ein Zeichen in die betreffende Spalte (VHNummer) eingefügt.

Es sollten alle Zeilen mit Argument (Differenz) in Output grau hinterlegt werden.
Beim Testdatensatz, welcher in der Tabelle ist, habe ich ein Zeichen geschrieben  und die Schrift mit VBA auch auf grau gestellt.

Viel Spass damit ;D

Lg

Andi

Hi Andi,

Bei der Zeile "Differenz":
- unter a2007 ist der Hintergrund bei mir weiß,
- unter a2003 ist er grau

Willkommen im Club der a2007 geschädigten.
Werde dafür erst am Abend Zeit haben, mir das näher anzuschauen.

Harald
Servus