2011-01-11 6 views
0

Hier ist, was ich habe:MSACCESS/VBA: Auf welcher Seite eines Berichts wird ein Objekt enden?

Ein Bericht mit einer variablen Anzahl von Seiten, mit 4 großen Textfelder. Die Anzahl der Seiten hängt von von der Länge des Textes in den Textfeldern ab.

Ich zeichne Rahmen um meinen Bericht und benutze die Grenzen der Textfelder, um die Abschnitte zu trennen.

Beispiel:

_____________ 
|1   | 
|    | 
|    | 
|_____________| 
|2   | 
|    | 
|    | 
|_____________| 
|3   | 
|_____________| 

Problem in einigen Fällen ist, wäre ein zu lang sein, so gibt es einen leeren Teil auf dem Boden einer Seite. das ist nicht das Problem, das Problem ist, es sieht wie folgt aus:

_____________ 
|1   | 
|    | 
|    | 
|    | 
|    | 
|    | 
|_____________| 
|    | 
|    | 
|_____________| 

während ich möchte es so aussehen:

_____________ 
|1   | 
|    | 
|    | 
|    | 
|    | 
|    | 
|    | 
|    | 
|    | 
|_____________| 

So, ich versuche, einige Code zum page Event hinzufügen um die Grenzen der letzten Textbox auf einer Seite auszublenden.

Problem ist, ich glaube einmal Zugriff verschiebt die Textfelder um den Bericht, um sie an ihren Platz zu setzen, sie sind schon nicht mehr änderbar ... Oder irre ich mich?

Hat jemand eine Idee, wie man das löst?

Antwort

0

Ich denke, der einfachste Weg, dies zu tun wäre, eine Zeile an der Spitze des Abschnitts, anstatt eine Grenze rundum zu drucken.

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

Report.ScaleMode = 3 
lft = Report.ScaleLeft 
top = Me.MyTextbox.Top - 40 
wdt = Report.ScaleWidth 
hgt = 1 

Me.Line (lft, top)-Step(wdt, hgt), vbBlack 
End Sub 
Verwandte Themen