DataBase - Order Entry type form to add to three tables

Asked By CuriousMark
08-Feb-10 06:04 PM
I have been working on this database for several years, learning as I go.
However I have been stuck on the problem of the best way to design a form for
data entry into three tables. I now give up and put the whole thing on the
Forum in the hope that someone can help me with the design. For simplicity, I
will illustrate using the "Order Entry" style database, and limit the fields
to only those necessary.

There are four tables with the following fields:

tblCustomers - CustomerID (pk), CustomerName
tblOrders - OrderID (pk), OrderDate, CustomerID (fk)
tblOrderProd - OrderProdID (pk), OrderID (fk), ProductID (fk)
tblProducts - ProductID (pk), ProductName

One customer is associated with one or more orders, and one order can have
one or more products. The user should be able to create a new order by
specifying the date and the customer, and then one or more products.

I have a main form with subform to do this. The main form is bound to a
query that joins the tblOrders and tblCustomers tables, and the subform is
bound to a query that joins the tblOrderProd and tblProducts tables. The
subform is linked to the main form through the OrderID field.

Main form query:
SELECT tblOrders.OrderDate, tblCustomers.CustomerName
FROM   tblCustomers INNER JOIN tblOrders
ON     tblCustomers.CustomerID = tblOrders.CustomerID

Subform query:
SELECT tblOrderProd.ProductID, tblProducts.ProductName, tblOrderProd.OrderID
FROM   tblProducts INNER JOIN tblOrderProd
ON     tblProducts.ProductID = tblOrderProd.ProductID

This setup works great for adding records, and when I enter a ProductID in
the subform it will show the ProductName but the problem is that this design
means a new customer is added for each new order: I cannot figure out how to
search based on the entry for an existing customer, use it if it exists, or
add it if it is new.

My hunch is that I should unbind both forms, using Append queries to enter
the data in the related three fields. If so, then how do I find out the new
OrderID to use to append to tblOrderProd? And how do I find out the
CustomerID to use to append to the tblOrders if it is a new Customer? Then
how do I progress through each ProductID entered in the subform when
appending to the tblOrderProd table?

Thanks very much.
Excel
(1)
Word
(1)
TblOrderProd.ProductID
(1)
TblOrderProd.OrderID
(1)
TblCustomers.CustomerID
(1)
TblProducts.ProductID
(1)
TblOrders.CustomerID
(1)
OrderProdID
(1)
  PieterLinden via AccessMonster.com replied to CuriousMark
09-Feb-10 12:07 AM
Are you using the LinkChild/LinkMaster properties in your subform?

--
Message posted via AccessMonster.com
http://www.accessmonster.com/Uwe/Forums.aspx/access-tablesdbdesign/201002/1
  KARL DEWEY replied to CuriousMark
08-Feb-10 07:20 PM
How can this be as your query for main form does not have OrderID field.

Use a combo to select customer.

Main form ??? tblOrders - tblCustomers
Combo ??? select customer
Enter OrderDate - automatic generate OrderID
- required delivery - payment - shipping method - etc.

Make sure you set the Master/Child links on form/subform on OrderID.

Subform ??? tblOrderProd - tblOrders - tblProducts
Combo ??? select product
QTY ??? Size ??? Color -

--
Build a little, test a little.
  Steve replied to CuriousMark
08-Feb-10 07:37 PM
Hello Mark!

You deserve an A+ for Stick-To-It ness for working on the database for
several years. However, would not it be a relief to get it done and move on?
I would like to offer to work with you and finish your database. I provide
help with Access, Excel and Word applications. My fee to finish the database
with you would be very reasonable. Contact me and let us get it done!!!

Steve
santus@penn.com
  Jeff Boyce replied to CuriousMark
08-Feb-10 07:52 PM
These newsgroups are "staffed" by (mostly) volunteers.  The Code of Conduct
precludes soliciting paid work.

Before you sign any contracts, you might want to consider whether you want
to hire someone who does not feel it necessary to follow the rules.

Why do you have a main form with Customer and Order joined?  If the main
form is your Order form, you can use a combobox to list possible customers
and select which one it is, to add to your Order record (customerID).

If you would  rather have Customer as your main form, your Order is your subform
and the OrderDetail is the subsubform.

Using subforms and the Parent/Child joins between main and sub (and between
sub and subsub) will allow Access to properly record the "parent" to which a
particular Order Detail or Order belongs

Good luck!

Regards

Jeff Boyce
Microsoft Access MVP

--
Disclaimer: This author may have received products and services mentioned
in this post. Mention and/or description of a product or service herein
does not constitute endorsement thereof.

Any code or pseudocode included in this post is offered "as is", with no
guarantee as to suitability.

You can thank the FTC of the USA for making this disclaimer
possible/necessary.
  John... Visio MVP replied to Steve
08-Feb-10 09:03 PM
and an F if he accepts your offer.
how about it if you moved on?

Stevie is our own personal pet troll who is the only one who does not
understand the concept of FREE peer to peer support!

These newsgroups are provided by Microsoft for FREE peer to peer support.
There are many highly qualified individuals who gladly help for free. Stevie
is not one of them, but he is the only one who just does not get the idea of
was any good, the "thousands" of people he claims to have helped would be
flooding him with work, but there appears to be a continuous drought and he
needs to constantly grovel for work.

John... Visio MVP
  StopThisAdvertising replied to Steve
09-Feb-10 03:13 AM
--
Get lost $teve.  Go away... far away....

Again... Get lost $teve.  Go away... far away....
No-one wants you here... no-one needs you here...

This newsgroup is meant for FREE help..
No-one wants you here... no-one needs you here...
OP look at http://home.tiscali.nl/arracom/whoissteve.html
(Website has been updated and has a new 'look'...  we have passed 11.000 pageloads... it is a shame !!)

Arno R
  CuriousMark replied to PieterLinden via AccessMonster.com
10-Feb-10 11:21 AM
yes, but that is not the problem. The problem is to select or add a new
customer.
  CuriousMark replied to KARL DEWEY
10-Feb-10 11:21 AM
The OrderID field is autonumber generated as soon as data is entered in the
form.

how do I have it add a new customer if the customer does not exist?
  CuriousMark replied to StopThisAdvertising
10-Feb-10 11:23 AM
Steve,

Thanks but not thanks. I guess you do not understand.....I would not have
learned as much as I have if I just hired someone else to do it for me. That
takes all the fun and learning out of it.
  CuriousMark replied to Jeff Boyce
10-Feb-10 11:25 AM
Thanks Jeff.
Agreed that the form should be based only on the tblOrders table, with a
combo box for Customer. But I could not figure out how to add new customer if
one did not exist.
  Jeff Boyce replied to CuriousMark
10-Feb-10 12:00 PM
Check Access HELP for NotInList and LimitToList.

There are examples of the code you would  use to pop open a "new customer" form
to add a new one before returning back to the Order form.

Regards

Jeff Boyce
Microsoft Access MVP

--
Disclaimer: This author may have received products and services mentioned
in this post. Mention and/or description of a product or service herein
does not constitute endorsement thereof.

Any code or pseudocode included in this post is offered "as is", with no
guarantee as to suitability.

You can thank the FTC of the USA for making this disclaimer
possible/necessary.
  CuriousMark replied to Jeff Boyce
11-Feb-10 08:47 PM
Thanks Jeff, I am familiat with that approach but I am trying to do something a
little different....
I want to be able to enter the "Customer" information on the same form,
without having to open a new form, so I have several fields for the customer
on the "Order" form. I also want the program to search for matches on several
of the "Customer" info fields, not just one combo box. The best way I can
think to do it is to use an unbound form and run a query after data is
entered into one of the fields used for searching. Then using an Append Query
to add the data to the appropriate table.
  Jeff Boyce replied to CuriousMark
12-Feb-10 01:42 PM
Hey, whatever works!

Best of luck

Regards

Jeff Boyce
Microsoft Access MVP

--
Disclaimer: This author may have received products and services mentioned
in this post. Mention and/or description of a product or service herein
does not constitute endorsement thereof.

Any code or pseudocode included in this post is offered "as is", with no
guarantee as to suitability.

You can thank the FTC of the USA for making this disclaimer
possible/necessary.
Create New Account
help
Can Access web apps utilize Word and Excel DataBase In a desktop Access the user can create Word and Excel files as well, as opening Word and Excel files. With Automation he / she can create Word and Excel files as well. Is it possible to export or import an Excel or a Text
Importing Excel files into Word DataBase How can I import an Excel table into Word and still keep the link? Using Win XP and running Word 2007. Access External Data Discussions Word 2007 (1) Excel (1) Word (1) XP (1) Win Wrong NG. . . try posting to Word / Excel. This is an Access
Convert to word / excel DataBase in access 03, i could run a report then export it to word or excel, however i cannot seem to be able to do it with access 07, HELP!! - - Lois Access Reports Discussions Excel (1) Report (1) Icon (1) On the ribbon, select the External Data tab. There is an Excel icon on the Export group. keywords: Convert, to, word, / , excel description: in access 03, i could run a report then export it to word or
words. Then I have another field that contains just words. Example: Field 1 Field 2 Word 1 Word A 1234 Word B 5678 Word C Word 2 Word A Word 1 Word C I need an expresion that looks for a record that contains a number, and