Print form - Current record

Hi Guys

Is there a way to print out the active form, current record, without using reports
I add a button in the design view which creates a macro, but it prints out the form but all the records, i need to print the form with the current record

Please advice
titorober23Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
You would have to Filter the form to the desired record first.  You can easily do that with the built in Right Click menus ...  in this case, Filter By Selection >> Print >> Right click and Remove Filter/Sort.

mx
0
titorober23Author Commented:
is there a way to put that in code behind a button
0
titorober23Author Commented:
in this particular case it is already filtered because i am trying to print a subform, which contains all the records associated with the main form, but when i hit print it prints all the records in the subform for all the records in the main form, i need to print current form view with current record information
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
Actually ... try this:

Private Sub btnPrint_Click()

    DoCmd.PrintOut acSelection

End Sub

but it appears to directly to the printer ... no preview.  I've never used the PrintOut command before

mx
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
Or something like this:

Private Sub btnPrint_Click()
   
    Me.Filter = "[ID] = " & Me![ID]
    Me.FilterOn = True
    DoCmd.RunCommand acCmdPrintPreview
    DoCmd.RunCommand acCmdRemoveFilterSort
   
End Sub

where ID is the Primary Key name of the main table.

mx
0
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
OK ... forget this line:

DoCmd.RunCommand acCmdRemoveFilterSort   ' that will cause an error.

mx
0
titorober23Author Commented:
No they did not work
thanks
0
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
If you are already on just one record ... this should work:

Private Sub btnPrint_Click()
   
    'Me.Filter = "[ID] = " & Me![ID]
    'Me.FilterOn = True
    DoCmd.RunCommand acCmdPrintPreview

End Sub


it does for me.

mx
0
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
what exactly is happening ?

mx
0
titorober23Author Commented:
when running it is taking me to code that i ahve in the main form On_resize event
0
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
not following ?

mx
0
Jeffrey CoachmanMIS LiasonCommented:
titorober23,

1. The forms are not really meant to be printed, because of their graphical nature.

2. <print out the active form, current record, without using reports>
What is the reason why a report is unacceptable?
It is a faily common practice to print out a report synchronized to the selected (current) Form record.

3. How are you wanting to print the current record?

In other words, you need to be specific.
Please post a screenshot of your form.
Then post an example of the *exact* "printout" you are expecting.

Thanks.

JeffCoachman
0
titorober23Author Commented:
weel i was thinking it was easier and faster just to print current record view, instead of creating a report and try to replicate the form design
0
Jeffrey CoachmanMIS LiasonCommented:
Then I see no reason why the snippet MX posted wouldn't work for you:
    DoCmd.PrintOut acSelection

Can you clearly define what you mean by "they did not work"?
error message?
Crash?
Wrong Printout?
...ect

That code works fine for me...

;-)

JeffCoachman
0
titorober23Author Commented:
Well they were sending to the printer all the records, it actually did the same thing that my original macro

I am trying to print out the currrent subform
0
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
Here:  http:#a24843068 you said you were already on *just* the current record, ie already filtered ... so ... there is no reason this would not work:

Private Sub btnPrint_Click()  
    DoCmd.RunCommand acCmdPrintPreview
End Sub

OR ... to filter on just the current record:

Private Sub btnPrint_Click()
   
    Me.Filter = "[ID] = " & Me![ID]
    Me.FilterOn = True
    DoCmd.RunCommand acCmdPrintPreview
   
End Sub

I'm seeing this work right now in front of me ...

mx
0
titorober23Author Commented:
i guess what happens is the form that i am trying to print is a subform of another subform, where the main form is a switchboard that contains and loads different forms, when it tries to print, it activate the On_Resize event of the main switchboard form
0
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
"the form that i am trying to print is a subform of another subform,"

Ahh so ... well, ok ... that ... is going to be more complicated for sure. Whereas I do have cases where a form can be printed for convenience ...  forms with subforms are another matter.  As Jeff suggested ... maybe you should consider creating a report in this case.  Believe me ... wherein you *can* print forms (and I do it) ... there are many anomalies for sure.

mx
0
titorober23Author Commented:
yes i already design a report for it

thanks a lot
0
Jeffrey CoachmanMIS LiasonCommented:
mbizup.

FWIW,

MX did give this his all by trying to give the asker exactly what they were after, (Printing from the form) by posting no less than 3 distict alternatives.

(Even I would not have gone that far)
;-)

I have no issue with MX being awarded all the points.
Suggesting a report is something MX would have eventually suggested on his own anyway.
;-)

I will be fine with whatever you decide.

;-)

Jeff
0
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
split is np.

mx
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.