View Full Version : Multiple Ship To


Jay Sims
12-05-2003, 10:54 AM
I would to over ride the default Ship To field on the invoice to a lookup list showing all Ship To for that customer. Some have over 100 Ship To. I do have a Ship table that is linked to the invoice.



12-05-2003, 11:16 AM
Hello Jay:

I'm not quite sure what you're asking. However, let me make a couple of general comments reference default field values.

You can manually overide any default value.

You can also create a default lookup value to another table, such as your "Ship" table.

Robert T.

Jay Sims
12-05-2003, 11:43 AM
Thanks Robert for your reply.

What I already have is a ship table on my invoice. When a record is entered on the invoice the default ship address is entered into the ship field. what i would like is a button placed beside the ship field that opens a Lookup form that displays all "Ship To" addresses for that customer. The Ship value would come from the same "Ship To" table. I would then choose which Ship address to enter on the invoice.

Once again thanks,


Tom Cone Jr
12-05-2003, 01:11 PM

If it were me, I'd remove the Ship To table from the set your invoice form is based on.

I'd then define a table lookup in field rules for the invoice_header table (or whatever table you're using for the ship_to fields). The table lookup field rule would be defined to link on the Ship_to field, but would fill in automatically the Ship_to_city, Ship_to_State, and ship_to_zip fields.

The user guide has an example, in the chapter on Field Rules. It's basically set up the same way you'd do one in Alpha Four.

-- tom

Jay Sims
12-08-2003, 07:03 AM
Thanks Tom and Robert,

Problem solved. I deleted the Shipping table from my Invoice per your recommendation. I then created the appropriate shipping fields in the invoice header. Using the field rules on the invoice header I set the “Lookup” to table “Shipping” and linked necessary fields together.

The only other issue I am facing is filtering by customer. Most of my customers have multiple ships to addresses. In the shipping table I have a field for Customer Id. I use the same ID for shipping that is used for Billing. If a customer has 10 Ship To addresses, all the addresses have the same number.

Here is the order for how I would like to accomplish this. After the invoice is open the customer is selected. Then in the shipping field the “Shipping” Lookup displays the shipping address for that customer. By using the Customer ID in the Billing table all addresses with the same Customer ID in the shipping table are displayed.

I tried using the code editor on the field rules but to no avail. Any help would be appreciated.

Also, I would like to apologize because I placed this thread in the wrong form. I am using Alpha 5, not upgrading. I had hoped that this solution to this problem would be of help to other new Alpha 5 users.



12-08-2003, 07:18 AM

Glad to see that your initial problem was resolved. Tom Cone is one of the sharpest people on our forum. He almost always gives excellent advice. In addition, he is also one of the nicest people you will find anywhere.

As for your customer shipping address problem, a couple of years ago I wrote an application which I think had a similar problem reference. When I have some free time, I'll try to remember and look up that database to see how I solved that problem, assuming it was the same one.

Robert T.

12-08-2003, 07:43 AM

I’m not saying this is the best or the preferred solution, but let me tell you what I did a couple of years ago for one of my customers and it worked like a charm.

Each customer has a UNIQUE Cust_ID number.

Each customer also had multiple shipping locations that are stored in the ShipTo table.

There are many fields in the ShipTo table, but we’re only concerned here with the first 3 fields in the table. Those first three fields are used to create a unique Ship_ID for each one of the company’s shipping addressees. Remember, the key field in this table is the third one, the unique Ship_ID field.

The first field in the ShipTo table is the Cust_ID number.
The 2nd field in the table is a unique Number [AutoIncrement Field Rule]
The 3rd field is a calculated field called Ship_ID which combined the value of the first two fields. Let me give you an example.

Cust_ID 001 is the PA State Police and Cust_ID 002 is the NY School System. Here are some entries that would go into the ShipTo table.

First 3 fields of the ShipTo Table

Cust_ID Ship_No Ship_ID Location
001 0001 001-0001 Philadelphia
001 0002 001-0002 Pittsburgh
001 0003 001-0003 Lancaster
002 0004 002-0004 Brooklyn, NY
002 0005 002-0005 Queens, NY
002 0006 002-0006 Bronx, NY

The Invoice form has a Ship_ID field, which had a table lookup Field Rule in the ShipTo table. Select the correct Ship_ID and all of the shipping address fields are automatically filled in.

So each one of the shipping addresses for a company has a UNIQUE Ship_ID field. But you can query and report on the customer by using the LEFT 3 numbers of the Ship_ID field, which will always identify the customer.

Remember, use an Auto Increment Field rule for the 2nd field in the table, the Ship_No field. Than make Ship_ID a calculated field combing Cust_ID + Ship_No.

I’m sure someone else can some up with something better, but as stated above, this worked perfectly.

Robert T.

Jay Sims
12-08-2003, 01:07 PM
Hi Robert,

Once again thanks for your help and the example. I am impressed with your knowledge and understanding of data and how all the pieces fall together. It shows and teaches me to dig deeper and create more flexible applications.

My only concern now with your example is my customer Id field is a character field and not Number. It is my understanding that you cannot do calculations by mixing character and number fields. I would revert to using number fields for customer ID’s but all my customers already use charters and numbers combinations in their I.D.

Is there anything in the Expression Builder that can bring focus to the customer ID in the Bill To and then when the shipping lookup is opened bring up all ship to with the same customer number?



12-08-2003, 01:47 PM
It is highly recommended that all of your Customer ID and Ship ID and/or similar fields, should be CHARACTER fields. I cannot imagine doing any calculations on a Customer ID or a Ship ID field. So it seems as if you are doing fine in that area, there is no need to convert them to numeric fields.

As I said in the previous message, in my particular application, all of the Unique Ship_ID numbers are prefaced by the 3-digit Cust_ID number. For example,

001-0051, 001-0052

003-0062, 003-0063, etc.

It is a trivial matter to query all Ship_ID's by using the LEFT(Ship_ID,3) function, to extract the Cust_ID number, which is the first 3 digits to the left of the hyphen.

Does this make sense?
Robert T