Print the current record

  Dear Expert,
I made a form where you view the records from a table. I also made a button at the form footer using the command button wizard to print that record. But when I run it instead of printing the current record(through a Report) it keeps printing all the records sequentially. How can I make that button to print only the record fields I am viewing?
   
               Thanks again
                  George.
gsazeidesAsked:
Who is Participating?
 
sanctifiedConnect With a Mentor Commented:
Your answer (2 possibilities)

Using a function:

This function will put a message box up asking for what specific page you want to print:

Function PrintPage (reportname As String) As Integer
a = InputBox("Select Page to Print")
 DoCmd Echo False
 DoCmd OpenReport reportname, A_DESIGN
 DoCmd Print A_PAGES, a, a

 DoCmd SetWarnings False
 DoCmd Close A_REPORT, reportname
 DoCmd SetWarnings True
 DoCmd Echo True

ttp_exit:
 Exit Function

ttp_error:
 DoCmd Echo True ' restore screen echo
 Resume ttp_exit

End Function

Using a macro:

DoMenuItem

MENUBAR:  DATABASE
MENU NAME:  FILE
COMMAND: PRINT

This command will bring you to a print window allowing you to choose all pages, you current selection or specified pages.

Enjoy!
0
 
HelicopterCommented:
check the code behind the button. It sounds like you need a where clause in there (e.g. "Where recordID=" & me.recordID)
0
 
tomookCommented:
The fourth argument to DoCmd.OpenReport allows you to specify a WHERE condition. The third argument allows specifying a filter. If you have the form selecting only some records, you obviously already know or can find out how the records are filtered or selected. Just put the appropriate

Ex:
DoCmd.OpenReport "MyReport", acViewNormal, , "(Customer=5) AND (Payment>5.00)"

If you need more specifics, please supply the fields in the form, and how you select the fields to view.
0
All Courses

From novice to tech pro — start learning today.