Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Fussbereich ausblenden

Begonnen von Aendu, Mai 16, 2019, 14:06:53

⏪ vorheriges - nächstes ⏩

Aendu

Guten Tag allerseits
Ich habe ein Problem mit einem Bericht. Ich möchte einen Fussbereich in Abhängigkeit von einem Feld anzeigen oder ausblenden lassen. Ich habe im Internet nach Lösungen gesucht, aber leider nicht fündig geworden. Der Bericht stellt eine Rechnung dar, welche ich ohne Skontoberechnung oder auch mit Skontoberechung anzeigen möchte. Die Skontoberechnung befidet sich im Fussbereich0. Dieser Bereich soll aufgrund des Wertes im Feld "zbeSkonto" ein oder ausgeblendet werden.

Das ist mein aktueller Stand vom Code:


Private Sub Gruppenfu?0_Format(Cancel As Integer, FormatCount As Integer)
If Nz(Me.zbeSkonto.Value, 0) > 0 Then
    Me.Gruppenfu?0.Visible = True

Else
    Me.Gruppenfu?0.Visible = False
   
       
End If
End Sub

Wäre super wenn mir jemand helfen könnte.
Vielen Dank!
Gruss Ändu

MzKlMu

Hallo,
und was genau funktioniert denn nicht ?

Wie lautet der Name des Fußes genau, Du hast hier ein ? im Namen ?
Gruß Klaus

Aendu

Hallo
Der Fussbereich wird in jedem Fall angezeigt. Egal ob 2% oder 0% Skonto.
Das Fragezeichen kommt vom Kopieren. Im Anhang findest du zwei Printscreens.
Gruss

MzKlMu

Hallo,
der Code sollte funktionieren.

Gibt es leere (NULL) Skonto Einträge (also auch keine 0) ?
Gruß Klaus

Aendu

Hallo Klaus
Nein, in Ausschnitt3 Siehst du die Tabelle in welcher die Zahlungsbedingungen hinterlegt sind. Das Feld zbeSkonto ist gemäss Ausschnitt5 formatiert. Die Elemente sind entsprechend Ausschnitt 4 miteinander verbunden.
Kann es sein, dass aufgrund einer falschen Feldformatierung der Vergleich in der IF Funktion nicht gemacht werden kann?
Gruss

MzKlMu

Hallo,
Dezimal, mit 18 Stellen halte ich für eine Prozentzahl für reichlich übertrieben. Double reicht da spielend.
Zu beachten ist auch, dass beim Format Prozent für 2% 0,02 in der Tabelle steht. Und das Feld zbeSkonto muss in der Datenherkunft für den Berricht vorhanden sein.

Den Code kannst Du auch verkürzen (Ohne If...Then).
Private Sub Gruppenfuß0_Format(Cancel As Integer, FormatCount As Integer)
    Me.Gruppenfuß0.Visible = Me.zbeSkonto > 0
End Sub

Nz ist hier auch überflüssig.
Gruß Klaus

Aendu

Hallo Klaus
Ich habe den Datentyp von zbeSkonto auf Double geändert und deine kurze Formel eingesetzt. Leider funktioniert das einfach nicht. Muss ich noch etwas bezüglich den 0.02 beachten? Ich denke nicht, weil ja 0.02 auch grösser als 0 ist. Gäbe es noch ein alternatives vorgehen? Ich möchte nicht unbedingt mit bedingter Formatierung arbeiten. Falls nicht werde ich einfach zwei Versionen des Berichts machen.
Gruss Ändu

PhilS

Ich bin sicher, ob man einen Gruppenfuss im Format-Event eben dieses Fusses überhaupt ausblenden kann.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Aendu

Wäre es allenfalls eine Lösung, wenn beim betätigen des Buttons im Formular geprüft würde, was für ein Wert im Feld zbeSkonto steht und aufgrund dessen den entsprechenden Bericht (Netto oder Skonto) aufzurufen?

MzKlMu

Hallo,
grundsätzlich sollte das funktionieren, auch das Ereignis ist richtig (getestet).
Zwei Berichte braucht es hier nicht.

Kannst Du bitte mal ein kleines Beispiel erstellen das nur das Problem enthält und hier hochladen?
Gruß Klaus

Aendu

Hallo Klaus
Leider kann ich die Beispiel DB wegen dem Datentyp nicht hochladen. (Die DB hat die Endung .accdb). Kann ich dir diese sonst irgendwie senden?
Gruss Ändu

MzKlMu

Hallo,
die Datenbank zippen, dann klappt das mit dem Hochladen.

Vorher (vor dem Zippen) das Access Dienstprogramm (bei den Datenbanktoolös) "Reparieren Komprimieren" anwenden.
Gruß Klaus

Aendu

Neuer Versuch. Vielen Dank!

MzKlMu

Hallo,
das Feld heißt ja auch nicht zbeSkonto sondern Text118.   
So geht es:
Me.Gruppenfuß0.Visible = Me.Text118 > 0
Gruß Klaus

Aendu

Dieser Namensfehler ist passiert beim freistellen vom Bericht. Ich habe ein neues Feld eingefügt und zugeordnet, aber nicht umbenannt.. Ich habe bei mir deine Zeile eingefügt, aber mit dieser funktioniert es auch nicht. Kannst du mir die Beispiel DB zurückschicken, in welcher es jetzt funktioniert? So kann ich einen Fehler Seitens ACCESS Installation ausschliessen.
Gruss Ändu