S
Shannon
I found code on the microsoft web site that I was unable
to apply to my database...won't compile correctly...is
there a simple way to skip used labels when printing to
an inkjet printer using sheets of labels? The code I got
from the web site is below. Thanks, Shannon
Create a new module, and place the following lines in the
Declarations
section:'*************************************************
********
'Declarations section of the module.
'*********************************************************
*
Option Compare Database
Option Explicit
Dim LabelBlanks&
Dim LabelCopies&
Dim BlankCount&
Dim CopyCount&
Type the following
functions:'===============================================
===========
' The following function will cause an input box to
' display when the report is run that prompts the user
' for the number of used labels to skip and how many
' copies of each label should be printed.
'=========================================================
==
Function LabelSetup ()
LabelBlanks& = Val(InputBox$("Enter Number of blank
labels to skip"))
LabelCopies& = Val(InputBox$("Enter Number of Copies
to Print"))
If LabelBlanks& < 0 Then LabelBlanks& = 0
If LabelCopies& < 1 Then LabelCopies& = 1
End Function
'=========================================================
==
' The following function sets the variables to a zero
'=========================================================
==
Function LabelInitialize ()
BlankCount& = 0
CopyCount& = 0
End Function
'=========================================================
==
' The following function is the main part of this code
' that allows the labels to print as the user desires.
'=========================================================
==
Function LabelLayout (R As Report)
If BlankCount& < LabelBlanks& Then
R.NextRecord = False
R.PrintSection = False
BlankCount& = BlankCount& + 1
Else
If CopyCount& < (LabelCopies& - 1) Then
R.NextRecord = False
CopyCount& = CopyCount& + 1
Else
CopyCount& = 0
End If
End If
End Function
Open the report named MyLabels in Design view and add the
following line to the OnPrint property of the detail
section: =LabelLayout(Reports![MyLabels])
Add the following line to the OnOpen property of the
MyLabels report: =LabelSetup()
Although typically labels do not have a report header,
add a report header and footer to the report by clicking
Report Header/Footer on the View menu. Then, add the
following line to the OnFormat property of the report
header: =LabelInitialize()
Set the Height property for both the report header and
report footer to 0.
When you print the report, the report calls the LabelSetup
() function, which first asks you to enter the number of
used labels to skip on the first page (BlankCount) and
then asks how many of each label you want printed
(CopyCount).
When the report header is formatted, it calls the
LabelInitialize() function, so when you switch from
preview to print, the BlankCount and CopyCount fields are
set to zero. As each label is formatted, the LabelLayout
() function adjusts the NextRecord and MoveLayout
properties to skip used labels and to print the desired
duplicates.
to apply to my database...won't compile correctly...is
there a simple way to skip used labels when printing to
an inkjet printer using sheets of labels? The code I got
from the web site is below. Thanks, Shannon
Create a new module, and place the following lines in the
Declarations
section:'*************************************************
********
'Declarations section of the module.
'*********************************************************
*
Option Compare Database
Option Explicit
Dim LabelBlanks&
Dim LabelCopies&
Dim BlankCount&
Dim CopyCount&
Type the following
functions:'===============================================
===========
' The following function will cause an input box to
' display when the report is run that prompts the user
' for the number of used labels to skip and how many
' copies of each label should be printed.
'=========================================================
==
Function LabelSetup ()
LabelBlanks& = Val(InputBox$("Enter Number of blank
labels to skip"))
LabelCopies& = Val(InputBox$("Enter Number of Copies
to Print"))
If LabelBlanks& < 0 Then LabelBlanks& = 0
If LabelCopies& < 1 Then LabelCopies& = 1
End Function
'=========================================================
==
' The following function sets the variables to a zero
'=========================================================
==
Function LabelInitialize ()
BlankCount& = 0
CopyCount& = 0
End Function
'=========================================================
==
' The following function is the main part of this code
' that allows the labels to print as the user desires.
'=========================================================
==
Function LabelLayout (R As Report)
If BlankCount& < LabelBlanks& Then
R.NextRecord = False
R.PrintSection = False
BlankCount& = BlankCount& + 1
Else
If CopyCount& < (LabelCopies& - 1) Then
R.NextRecord = False
CopyCount& = CopyCount& + 1
Else
CopyCount& = 0
End If
End If
End Function
Open the report named MyLabels in Design view and add the
following line to the OnPrint property of the detail
section: =LabelLayout(Reports![MyLabels])
Add the following line to the OnOpen property of the
MyLabels report: =LabelSetup()
Although typically labels do not have a report header,
add a report header and footer to the report by clicking
Report Header/Footer on the View menu. Then, add the
following line to the OnFormat property of the report
header: =LabelInitialize()
Set the Height property for both the report header and
report footer to 0.
When you print the report, the report calls the LabelSetup
() function, which first asks you to enter the number of
used labels to skip on the first page (BlankCount) and
then asks how many of each label you want printed
(CopyCount).
When the report header is formatted, it calls the
LabelInitialize() function, so when you switch from
preview to print, the BlankCount and CopyCount fields are
set to zero. As each label is formatted, the LabelLayout
() function adjusts the NextRecord and MoveLayout
properties to skip used labels and to print the desired
duplicates.