Thanks Fred
I think I can do that OK. the problem is that I cant select which label to
print to. i.e. On a sheet of thirty I only at this time need to print four,
and starting with unused labels half way down the sheet.
is that possible within Access?
Thanks
Stephen
What determines which record is to be printed?
Do you wish to manually select the record?
If that is so, then add a check box field to the table.
Add the check box field to your form.
As you display each record, place a check in the check box field if
you wish that record to be printed.
Then code a command button on the form:
DoCmd.RunCommand acCmdSaveRecord
DoCmd.OpenReport "LabelReportName", acViewPreview, , "[CheckField] =
-1"
Only those records with the check mark will be printed.
After the labels are printed you can remove all of the check marks by
running an Update query:
Update YourTable Set YourTable.[CheckField] = 0;
Change LableReportName, YourTable and [CheckField] to whatever the
actual report, table and check box field names are.
To skip missing label positions.....
First make sure your label report is properly printing a full sheet of
labels.
Then add a Report Header to your label report.
Add 2 text boxes to the Header.
1) Name one SkipControl
Leave it's control source unbound
2) Name the other SkipCounter
Set it control Source to =[Skip How Many?]
Now code the Report Header Format event as below:
Private Sub ReportHeader_Format(Cancel As Integer, FormatCount As
Integer)
[SkipControl] = "Skip"
Cancel = True
End Sub
==========
Next code the Detail OnPrint event:
Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
If PrintCount <= [SkipCounter] And [SkipControl] = "Skip" Then
Me.NextRecord = False
Me.PrintSection = False
Else
[SkipControl] = "No"
Me.PrintSection = True
Me.NextRecord = True
End If
End Sub
=====
When you are ready to run the label report, it will ask how many to
skip.
Then it will run the report.