Neuigkeiten:

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

Mobiles Hauptmenü

Access 2000- im Bericht Felder unsichtbar machen

Begonnen von irgumburgum, November 11, 2011, 08:22:19

⏪ vorheriges - nächstes ⏩

irgumburgum

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


bahasu

#1
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]
Servus

MzKlMu

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.
Gruß Klaus

irgumburgum

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