Private Sub GetDataGP()
Connect
sql = "SELECT * FROM gpv_adressen WHERE gpid = " & Id & " and (CURDATE() >=" & _
"gvon and CURDATE() <= gbis) ORDER BY (gbis-gvon)"
RS.Open sql, CN
If Not (RS.EOF And RS.BOF) Then
EmpfängerAnrede = RS("anrede")
If IsNull(RS("vorname")) Or RS("vorname") = "" Then
EmpfängerName = RS("name")
Else
EmpfängerName = RS("vorname") & " " & RS("name")
End If
EmpfängerStrasse = RS("strasse")
Ansprache = RS("Ansprache")
EmpfängerPLZ = RS("plz") & " " & RS("ort")
VersandDatum = Date
Ansprache = RS("Ansprache")
End If
CLOSEN
End Sub 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 |