Private Sub PrintElements()
Call CalculationDetailRange(False)
If Not NewSite = "ja" Then
Printer.Print ""
If Alignment = "0" Then
Result = DrawText(Printer.hdc, TextToPrint, Len(TextToPrint), MyRect, _
DT_LEFT Or DT_WORDBREAK Or DT_MODIFYSTRING Or DT_WORD_ELLIPSIS)
ElseIf Alignment = "1" Then
Result = DrawText(Printer.hdc, TextToPrint, Len(TextToPrint), MyRect, _
DT_RIGHT Or DT_WORDBREAK Or DT_MODIFYSTRING Or DT_WORD_ELLIPSIS)
Else
Result = DrawText(Printer.hdc, TextToPrint, Len(TextToPrint), MyRect, _
DT_CENTER Or DT_WORDBREAK Or DT_MODIFYSTRING Or DT_WORD_ELLIPSIS)
End If
PrintElementsHeaderandFooting
PrintElementsDetailBeginning
PrintElementsDetailEnd
'da nur eine seite alles gedruckt und fertig
Else
Text = RestText
Printer.Print ""
If Alignment = "0" Then
Result = DrawText(Printer.hdc, TextToPrint, Len(TextToPrint), MyRect, _
DT_LEFT Or DT_WORDBREAK Or DT_MODIFYSTRING Or DT_WORD_ELLIPSIS)
ElseIf Alignment = "1" Then
Result = DrawText(Printer.hdc, TextToPrint, Len(TextToPrint), MyRect, _
DT_RIGHT Or DT_WORDBREAK Or DT_MODIFYSTRING Or DT_WORD_ELLIPSIS)
Else
Result = DrawText(Printer.hdc, TextToPrint, Len(TextToPrint), MyRect, _
DT_CENTER Or DT_WORDBREAK Or DT_MODIFYSTRING Or DT_WORD_ELLIPSIS)
End If
PrintElementsHeaderandFooting
PrintElementsDetailBeginning
'erste seite ist gedruckt
Printer.NewPage
'nächste seiten drucken (schleife, text immer zuerst drucken)
Dim seite As Integer
Do
seite = seite + 1
If Len(RestText) <= 1 Then
Exit Do
Else
Call CalculationDetailRange(True)
Printer.Print ""
If Alignment = "0" Then
Result = DrawText(Printer.hdc, TextToPrint, Len(TextToPrint), _
MyRect, DT_LEFT Or DT_WORDBREAK)
ElseIf Alignment = "1" Then
Result = DrawText(Printer.hdc, TextToPrint, Len(TextToPrint), _
MyRect, DT_RIGHT Or DT_WORDBREAK)
Else
Result = DrawText(Printer.hdc, TextToPrint, Len(TextToPrint), _
MyRect, DT_CENTER Or DT_WORDBREAK)
End If
PrintElementsHeaderandFooting
If Len(RestText) > 1 Then
Printer.NewPage
End If
End If
Loop
PrintElementsDetailEnd
End If
Printer.EndDoc
End Sub Private Sub SetSql()
If Kontaktart = "Brief" Then
sql = "SELECT * from DSN_BRIEF"
sqlarea = "SELECT area from DSN_BRIEF"
sqltxttop = "SELECT Textfeld from DSN_BRIEF"
End If
If Kontaktart = "Fax" Then
sql = "SELECT * from DSN_FAX"
sqlarea = "SELECT area from DSN_FAX"
sqltxttop = "SELECT Textfeld from DSN_Fax"
End If
If Kontaktart = "Auftrag" Then
sql = "SELECT * from DSN_AUFTRAG"
sqlarea = "SELECT area from DSN_AUFTRAG"
sqltxttop = "SELECT Textfeld from DSN_AUFTRAG"
End If
If Kontaktart = "Rechnung" Then
sql = "SELECT * from DSN_RECHNUNGEN"
sqlarea = "SELECT area from DSN_RECHNUNGEN"
sqltxttop = "SELECT Textfeld from DSN_RECHNUNGEN"
End If
If Kontaktart = "Mahnung" Then
sql = "SELECT * from DSN_MAHNUNGEN"
sqlarea = "SELECT area from DSN_MAHNUNGEN"
sqltxttop = "SELECT Textfeld from DSN_MAHNUNGEN"
End If
End Sub |