Hallo an Alle!
Ich arbeite mit dem etwas älteren Access 2000. Die Datenbank dient auch um Rechnungen zu schreiben. Unsere Rechnungen schreiben wir als "Bericht". So weit so gut.
Nun haben wir eine neue Datenbank erstellt, und meine Chefs möchten, dass auf der neuen REchnung bestimmte Felder nur dann gezeigt und auf der Rechnung sichtbar sind wenn sie wirklich Daten enthalten. Konkret geht es hier um Leistungen 1, 2 und 3, wobei meistens nur Leistung 1 verrechnet wird. Ich bin kein Profi, obwohl ich es bis jetzt auch alleine ganz gut geschafft habe. Aber diese Aufgabe kommt mir unlösbar vor.
Für Vorschläge wäre ich sehr dankbar.
(Wir haben zuhause die Version 2007 und obwohl ich schon versucht habe hier zu "üben", bringt es irgendwie nichts).
Marianna
			
			
			
				Hallo Marianna,
im Bericht beim Ereignis "Beim Formatieren" im Detailbereich das folgende einbauen:
Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
    Dim ctl As Control
    
    For Each ctl In Me.Controls
        If ctl.ControlType >= acTextBox And ctl.ControlType <= acComboBox Then
            Me(ctl.Name).Visible = Nz(Me(ctl.Name), "") > ""
        End If
    Next ctl
End Sub
Siehe auch Anhang anbei. Obiges blendet alles aus, was keinen Inhalt hat.
Wenn nur die 3 Felder, dann:
Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
me.[leistung 1].visible = nz(me.[leistung 1],"") > ""   ' und analog für die beiden anderen Felder
End Sub
Bemerkung zur Nomenklatur:
Leerzeichen sollten vermieden werden. Besser z.B. Leistung_1 
Harald
[Anhang gelöscht durch Administrator]
			
			
			
				Hallo,
ZitatKonkret geht es hier um Leistungen 1, 2 und 3, wobei meistens nur Leistung 1 verrechnet wird.
wobei nicht unerwähnt bleiben sollte, dass das ein falsches Datenmodell ist. Die Leistungen sind in einer extra Tabelle zu erfassen, je Leistung ein Datensatz. 3 Leistungen 3 Datensätze. 1 Leistung 1 Datensatz. Damit ist das Problem mit den leeren Feldern erst gar nicht vorhanden.
Bei dem vorgeschlagenen Ausblenden leerer Felder ergibt sich unter Umständen das Problem, dass nachfolgende Felder aufrücken müssen um keinen zu großen Abstand zu haben.
Man kann die Felder sehr klein machen in der Höhe, diese dicht zusammenrücken und vergrößerbar auf Ja stellen. Da kann man das Problem minimieren.
Aber die bessere Lösung wäre das Datenmodell anzupassen.
			
				Hallo!
Ich finde es super, dass ihr versucht habt zu helfen.
Vielen-vielen Dank!
Ich werde beides ausprobieren, mal sehen ob ich es kann.
Da wir momentan noch die Testphase haben, kann ich experimentieren, ab Jänner soll dann losgehen.
Nochmals vielen Dank!
LG
Marianna