' show the printer dialog box
CommonDialog1.ShowPrinter
' Enter the page number from which to start printing
startpage = CommonDialog1.FromPage
' set the font size. This will give 42 lines per page
Printer.FontSize = 18
' replace with your path to the nwind.mdb
Set myDatabase = OpenDatabase("nwind.mdb")
Set rsMyTable = myDatabase.OpenRecordset("Customers")
rsMyTable.MoveFirst
If (CommonDialog1.Flags And cdlPDPageNums) <> 0 Then
MsgBox " Printing pages " & CommonDialog1.FromPage & " to " & _
CommonDialog1.ToPage
Select Case startpage
Case 1
Case 2
' skip page 1
For i = 1 To 42
rsMyTable.MoveNext
Next
Case 3
' skip 2 pages
For i = 1 To 84
rsMyTable.MoveNext
Next
End Select
If startpage <> 0 Then
For j = startpage To CommonDialog1.ToPage
For i = 1 To 42
If rsMyTable.EOF Then Exit For
Text1.Text = Text1.Text & rsMyTable!CompanyName & vbCrLf
Printer.Print rsMyTable!CompanyName
rsMyTable.MoveNext
Next
Printer.NewPage
Next
Printer.EndDoc
End If
ElseIf (CommonDialog1.Flags And cdlPDSelection) <> 0 Then
rsMyTable.MoveLast
rsMyTable.MoveFirst
For i = 1 To rsMyTable.RecordCount
Text1.Text = Text1.Text & rsMyTable!CompanyName & vbCrLf
rsMyTable.MoveNext
Next
MsgBox "Select text to be printed"
Else
For i = 1 To rsMyTable.RecordCount
Text1.Text = Text1.Text & rsMyTable!CompanyName & vbCrLf
rsMyTable.MoveNext
Next
Printer.Print Text1.Text
Printer.EndDoc
MsgBox "Printing all pages"
End If
End Sub
Private Sub Command2_Click()
Printer.Print Text1.SelText
End Sub
Private Sub Form_Load()
Command1.Caption = "Select Printing Option"
Command2.Caption = "Print selected text"
End Sub