Thanks for writing John. This is how my tables are structured, all vendor
information (phone, fax, address, etc.) is located in the vendor table and
all invoice information (date, PO#, etc) is in the invoice table. And all
the Invoice details information (quantity, description, price etc.) is in a
invoice details table. I plan to have an invoice input form with subforms
for invoice infomation. So, when I enter a vendor name at the top of the
form, all vendor information will fill in automatically (fax, phone, address)
and I just need to fill in the invoice details in the invoice subform. I am
still unclear on how I'm going to get the vendor info to auto fill.
Why do you need the fax, phone, and address fields to "fill in"? Just
for visual verification, or what?
What you can do is use a Combo Box (not a textbox, which would require
that you type the complete vendor name and never, ever make a typing
mistake) based on a query of the Vendor table. Select all of the
fields that you want to see on the invoice form in the query; you can
use the combo's ColumnWidths property to set the width of some of the
fields to 0 so they don't show up when you drop down the combo box.
Then, on the Invoice form, you can put textboxes with Control Sources
like
=comboboxname.Column(n)
to *display* the n-th (zero based, e.g. Column(3) is the fourth field
in the combo box's query) field in the combo box.
If you're printing the invoice, base a Report on a query joining all
three tables - vendors, invoices, invoicedetails - so you have all
fields available for printing. Don't try to print the Form; they're
not designed for that purpose!
John W. Vinson[MVP]