Sorry I didn't get back sooner, was away and didn't get to work on
this.
I've simplified a little and still having a problem.
I've placed a preview button on the form, it will still show the first
item in the table index, as well as the ability to scroll thru the rows
in the table. What I need is a single report screen for the current
info in the form (from multi tables). Here is the query
(q_renewal_form) and the click event code.
SELECT Member_Info.First_name, Payments.Payment_type, Payments.[Dues
Year], Payments.Amount_Pd, Payments.Date_Pd, Member_Info.Last_name,
Member_Info.Degree, Member_Address.Address_1, Member_Address.Address_2,
Member_Address.City, Member_Address.State, Member_Address.Zip,
Member_Address.Province, Member_Address.Country,
Member_Address.Phone_1, Member_Address.Email_address
FROM (Member_Info INNER JOIN Payments ON
Member_Info.ID_Number=Payments.ID_Number) INNER JOIN Member_Address ON
Member_Info.ID_Number=Member_Address.ID_Number;
Well, then it's giving you exactly what you're asking for. This query
will select all records in the MemberInfo table which have
corresponding records in the Payments and MemberAddress tables, and
print them out.
What you see on the form is *ABSOLUTELY IRRELEVANT* to this fact. The
query is printing what you're asking it to print!
You can either change the Query to reference a form control as a
criterion - I don't know how your table is structured, or what
constitutes an "item", but try opening the query in design view and
putting
=[Forms]![TheNameOfYourForm]![TheNameOfSomeControl]
on the criteria line under the Member_Info table's primary key field,
using the name of your form and the name of a control on the form
containing that primary key value (the control can be invisible if you
wish).
Or, edit the VBA code in the click event of the button which prints
the report to set the value of the WhereCondition argument to
"[MemberID] = " & Me.txtMemberID
using your own field and control names.
John W. Vinson[MVP]