Neuigkeiten:

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

Mobiles Hauptmenü

Linie zeichnen (VBA) im Unterbericht

Begonnen von trebuh, Februar 26, 2016, 19:09:39

⏪ vorheriges - nächstes ⏩

trebuh

Hallo.

Habe gerade ein Problem.
In einem Bericht hatte ich bisher im Gruppenkopf folgenden Code:

Private Sub Gruppenkopf2_Print(Cancel As Integer, PrintCount As Integer)

10       On Error GoTo Gruppenkopf2_Print_Error

20        Me.ScaleMode = 7 'Zentimeter
           
30        If IsNull(Me!zusammfass_Nr) Then
40            Me.Line (5.6, 2.672)-(18, 2.672)
50        Else
60            Me.Line (2.4, 2.672)-(18, 2.672)
70        End If

80       On Error GoTo 0
90       Exit Sub

Gruppenkopf2_Print_Error:

100       MsgBox "Error " & Err.Number & " in Zeile " & Erl & " (" & Err.Description & ") in procedure Gruppenkopf2_Print of VBA Dokument Report_rptRechnung_Standart"
         
End Sub


Das hatte wunderbar geklappt.
Nun muss ich diesen Bericht als Unterbericht einbauen.
Und jetzt habe ich das Problem, das mir die Linie nicht mehr gezeichnet wird.

Wie kann ich im vom Hauptbericht aus Linien im Gruppenfuß des Unterberichts zeichnen?

Gruß trebuh

DF6GL

Hallo,

benutze mal das Format-Ereignis von Gruppenkopf2..
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

MaggieMay

#2
Hallo,

du kannst Linien auch im Page-Ereignis ziehen, denn sie sind ja unabhängig von Berichtsbereichen, da ihre Position fest vorgegeben wird.

Nachtrag:
Wenn die Linie abhängig von Datenfeldern gezeichnet werden soll, so kannst du das folgendermaßen erreichen:
Lege ein Linien-Steuerelement (bspw. "grpLine") an der gewünschten Position (=Höhe) an und ändere lediglich ihren Anfang und ihre Länge.

Beispiel:Private Sub Gruppenkopf2_Print(Cancel As Integer, PrintCount As Integer)
On Error GoTo Gruppenkopf2_Print_Error
    If IsNull(Me!zusammfass_Nr) Then
        Me.grpLine.Left = 5.6 * 567   ' centimeters to twips
        Me.grpLine.Length  12.4 * 567
     Else
        Me.grpLine.Left = 2.4 * 567   ' centimeters to twips
        Me.grpLine.Length  15.6 * 567
     End If
       On Error GoTo 0
       Exit Sub
Gruppenkopf2_Print_Error:
       MsgBox "Error " & Err.Number & " in Zeile " & Erl & " (" & Err.Description & ") in procedure Gruppenkopf2_Print of VBA Dokument Report_rptRechnung_Standart"
End Sub
Freundliche Grüße
MaggieMay

trebuh

Hallo MaggieMay und Franz,

@ Franz

Danke für den Hinweis. Es funkioniert. :)

@ MaggieMay

Ebenfalls Danke. Deinen Tipp werde ich noch ausprobieren.

Gruß und schönes Wochenende

trebuh

MaggieMay

@Franz:
Zitat von: DF6GL am Februar 26, 2016, 19:18:47
benutze mal das Format-Ereignis von Gruppenkopf2
was macht den Unterschied? Kannst du das erklären?
Freundliche Grüße
MaggieMay

DF6GL

Hallo,


Im Print-Ereignis sind Größenänderungen von Objekten nicht mehr möglich. Das war meine ad-hoc- Vermutung... ;-)

Aber das ist hier nicht das Problem. 


Vermutlich liegen die Linien  außerhalb oder genau auf der Begrenzung des Gruppenkopfes, so dass sie einfach nicht mehr (wegen z. B. Rundungsproblemen) im UBr zu sehen sind.  Eine leichte Vergrößerung der Gruppenkopfhöhe oder eine Verkleinerung der Line-Parameter brächte die Linien vermutlich auch im Print-Ereignis zu Vorschein.


Statt die Linien (mit konstanten Parametern) zu zeichen, könnte alternativ  auch ein Linien-Steuerelement verwendet werden.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

MaggieMay

@df6gl:
Zitatkönnte alternativ  auch ein Linien-Steuerelement verwendet werden.
OK, das verstehe ich wieder, denn das entspräche ja auch meinem Vorschlag.
Freundliche Grüße
MaggieMay