Solved

Print form - Current record

Posted on 2009-07-13
25
2,596 Views
Last Modified: 2013-11-28
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
0
Comment
Question by:titorober23
  • 10
  • 8
  • 3
25 Comments
 
LVL 75
ID: 24842891
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
 

Author Comment

by:titorober23
ID: 24842910
is there a way to put that in code behind a button
0
 

Author Comment

by:titorober23
ID: 24842962
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
 
LVL 75

Accepted Solution

by:
DatabaseMX (Joe Anderson - Access MVP) earned 200 total points
ID: 24842999
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
 
LVL 75

Assisted Solution

by:DatabaseMX (Joe Anderson - Access MVP)
DatabaseMX (Joe Anderson - Access MVP) earned 200 total points
ID: 24843027
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
 
LVL 75
ID: 24843041
OK ... forget this line:

DoCmd.RunCommand acCmdRemoveFilterSort   ' that will cause an error.

mx
0
 

Author Comment

by:titorober23
ID: 24843066
No they did not work
thanks
0
 
LVL 75
ID: 24843068
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
 
LVL 75
ID: 24843081
what exactly is happening ?

mx
0
 

Author Comment

by:titorober23
ID: 24843095
when running it is taking me to code that i ahve in the main form On_resize event
0
Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

 
LVL 75
ID: 24843115
not following ?

mx
0
 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 24847918
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
 

Author Comment

by:titorober23
ID: 24849556
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
 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 24850776
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
 

Author Comment

by:titorober23
ID: 24850879
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
 
LVL 75

Assisted Solution

by:DatabaseMX (Joe Anderson - Access MVP)
DatabaseMX (Joe Anderson - Access MVP) earned 200 total points
ID: 24851493
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
 

Author Comment

by:titorober23
ID: 24851743
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
 
LVL 75
ID: 24851801
"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
 

Author Comment

by:titorober23
ID: 24851830
yes i already design a report for it

thanks a lot
0
 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 24853855
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
 
LVL 75
ID: 24854277
split is np.

mx
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

The first two articles in this short series — Using a Criteria Form to Filter Records (http://www.experts-exchange.com/A_6069.html) and Building a Custom Filter (http://www.experts-exchange.com/A_6070.html) — discuss in some detail how a form can be…
I originally created this report in Crystal Reports 2008 where there is an option to underlay sections. I initially came across the problem in Access Reports where I was unable to run my border lines down through the entire page as I was using the P…
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.
In Microsoft Access, learn the trick to repeating sub-report headings at the top of each page. The problem with sub-reports and headings: Add a dummy group to the sub report using the expression =1: Set the “Repeat Section” property of the dummy…

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now