From: jwebster1979 on 28 Apr 2010 10:44 I have a form that is basically an invoice, I want a command button that opens a report that will print only the invoice I am viewing. I have seen this done before but have drawn a blank on how to accomplish this. thanks
From: Stefan Hoffmann on 28 Apr 2010 10:58 hi j, On 28.04.2010 16:44, jwebster1979 wrote: > I have a form that is basically an invoice, I want a command button that > opens a report that will print only the invoice I am viewing. I have seen > this done before but have drawn a blank on how to accomplish this. You normally use the WhereCondition parameter of the DoCmd.OpenReport action: Sub OpenReport(ReportName, [View As AcView = acViewNormal], [FilterName], [WhereCondition], [WindowMode As AcWindowMode = acWindowNormal], [OpenArgs]) Member of Access.DoCmd Depending on your field and primary key names, you have to adapt this: DoCmd.OpenReport _ "yourReportName", , , "primaryKeyField = " & Me![primaryKeyField] You must include the 'primaryKeyField' in the data sources of the form and the report. The name must be without any table name prefix. mfG --> stefan <--
From: fredg on 28 Apr 2010 16:15 On Wed, 28 Apr 2010 07:44:01 -0700, jwebster1979 wrote: > I have a form that is basically an invoice, I want a command button that > opens a report that will print only the invoice I am viewing. I have seen > this done before but have drawn a blank on how to accomplish this. > thanks First create a report that displays all of the data you want to show. Then�K. Your table should have a unique prime key field. In my example it is named [RecordID]. On the command button's property sheet write [Event Procedure] on the Click event line. Then click on the little button with 3 dots that will appear on that line. When the code window opens, the cursor will be flashing between 2 already existing lines of code. Between those 2 lines write: DoCmd.RunCommand acCmdSaveRecord DoCmd.OpenReport "ReportName", acViewPreview , , "[RecordID] = " & [RecordID] The above assumes a [RecordID] field that is a Number Datatype. If, however, [RecordID] is Text Datatype, then use: DoCmd.OpenReport "ReportName", acViewPreview, ,"[RecordID] = '" & [RecordID] & "'" as the Where clause. For clarity, the single and double quotes are.. "[RecordID] = ' " & [RecordID] & " ' " Change [RecordID] to whatever the actual field name is that you are using. See VBA Help files for: Where Clause + Restrict data to a subset of records -- Fred Please respond only to this newsgroup. I do not reply to personal e-mail
|
Pages: 1 Prev: RePost: The command or action quit isn't available now Next: Index/Primary Key Error Handler |