A question of normalization

I've been developing an application for 2 years now that one may refer
to as an inventory management database. I use the application on a
daily basis to help run my business and it works nicely. I've recently
begun to redesign the application and have decided that I come to a
crossroads that is well beyond my expertise.

I have 3 key tables:
1. tblItems: list of raw materials and other relevant information (12
fields in total)
2. tblSubAssemblies: list of sub assembly items and relevant info (9
fields in total)
3. tblFinishedProducts: list of finished products for resale and
relevant info (6 fields in total)

Some relevant information:
1. Each field in each of the three tables is repeated in at least one
of the other tables (i.e., category, type, Unit of Measure, Reorder
Point)
2. Sub Assemblies consists of a combination of raw materials and other
Sub Assemblies
3. Finished Products consists of a combination of raw materials and
Sub Assemblies
4. A key function of the application is to generate a "costed" bill of
materials
5. The application does most of what you would expect for an inventory
management database (e.g., invoice entry, inventory entry, sales
entry, perpetual inventory analysis, LIFO valuation)

My question:
Should I consolidate each of the 3 key tables into 1 table, or is this
just asking for major trouble (i.e., breaking normalization rules)? I
believe that 1 table yields a more elegant solution for coding the
interface and I have identified specific areas where the interface
would become much more user friendly as a result of the aggregation.

I realize that many of you have deep experience in this area, and I
wonder if there is a generally accepted solution with regards to my
question in inventory management applications.

Thanks in advance for your help,

Kelii
0
Kelii
2/18/2008 4:14:30 AM
access 16762 articles. 3 followers. Follow

6 Replies
739 Views

Similar Articles

[PageSpeed] 37

Comments inline;

> 1. Each field in each of the three tables is repeated in at least one
> of the other tables (i.e., category, type, Unit of Measure, Reorder
> Point)

Perhaps this is a typo. Did you really mean to say that *every* field in 
your app is repeated at least once in another table? If so you have 
definitely have a design problem.

> 2. Sub Assemblies consists of a combination of raw materials and other
> Sub Assemblies
> 3. Finished Products consists of a combination of raw materials and
> Sub Assemblies

I'm confused (which is not unusual :-)). If you combine a raw material and a 
sub assembly, does it become another sub assembly or a finished product? If 
it can be either, how do you determine which it is?

> 5. The application does most of what you would expect for an inventory
> management database (e.g., invoice entry, inventory entry, sales
> entry, perpetual inventory analysis, LIFO valuation)

Maybe, but it's probably bloated with a ton of redundant data (assuming that 
your first comment above is not a typo).

> Should I consolidate each of the 3 key tables into 1 table, or is this
> just asking for major trouble (i.e., breaking normalization rules)? 

No you shouldn't (do that) and yes it is (asking for major trouble).

I would recommend you do some research on proper relational database design 
before you start redesigning your app. There is a good book called "Database 
Design for Mere Mortals" by Michael Hernandez that is recomended frequently 
in this forum. Also here are some very good online sources.

Jeff Conrad's resources page:
http://www.accessmvp.com/JConrad/accessjunkie/resources.html

The Access Web resources page:
http://www.mvps.org/access/resources/index.html

A free tutorial written by Crystal (MS Access MVP):
http://allenbrowne.com/casu-22.html

MVP Allen Browne's tutorials:
http://allenbrowne.com/links.html#Tutorials

-- 
_________

Sean Bailey
0
Utf
2/18/2008 9:40:00 PM
Sean:

> Perhaps this is a typo. Did you really mean to say that *every* field in
> your app is repeated at least once in another table? If so you have
> definitely have a design problem.

There is no typo, but perhaps you misunderstood or my verbage is not
accurate. For example, Items have a description field (i.e., text), so
do Sub Assemblies and Finished products. Another example, Items and
Sub Assemblies both have Units of Measure (e.g., Lb, Oz, Can). I don't
believe that this conflicts with 3NF, as each item must be inventoried
against its own UOM. There is a separate tblUOM with referential
integrity back to the Item, SA (Sub Assembly), and Finished Products
tables. There are several other examples, such as Active Status,
Reorder Point, Category, Type, Location etc...

> I'm confused (which is not unusual :-)). If you combine a raw material and a
> sub assembly, does it become another sub assembly or a finished product? If
> it can be either, how do you determine which it is?

Yes, this is true. A Raw Material may be combined with an SA to
produce either an SA or a Finished Product. The difference between the
two is: a Finished Product is sold to a customer (note: there are
separate tables for Sale, Date of Sale, etc...), whereas an SA is not
sold to customers.

> Maybe, but it's probably bloated with a ton of redundant data (assuming that
> your first comment above is not a typo).

I hope this is clear after my explanation above; to the best of my
knowledge the data is not redundant.

> No you shouldn't (do that) and yes it is (asking for major trouble).

Given above clarification, do you still think so? If so, what trouble
am I likely to run into?

> I would recommend you do some research on proper relational database design
> before you start redesigning your app. There is a good book called "Database
> Design for Mere Mortals" by Michael Hernandez that is recomended frequently
> in this forum. Also here are some very good online sources.

Thank you, I'm always up for reading more theory (no joke).

Kelii
0
Kelii
2/18/2008 11:59:51 PM
OK, so first I'm going to take a stab at the table structure you have now 
based on your posts, then I'll move on to how it should be. Keep in mind
that I know very little about your db, so I'm just winging it with table and
field names. I'll use three tables (Items, SubAssemblies and FinishedProducts)
and I'll assume that a finished product consists of one Item combined
with one SubAssembly.

I'm not going to tackle the issue of how a raw material combined with a sub 
assembly is still a sub assembly, because this inherently doesn't make sense
to me. If you combine a sub assembly with something else, it seems to me 
it should become something else (an assembly perhaps?). Nevermind, I'm just 
rambling.

So, based on your posts, it sounds like you have something similar to the 
following;

Items Table
*********
ItemID (Primary Key)
ItemName
ItemDescription
ItemUnitOfMeasure
ItemCost
Other fields related to item

SubAssemblies Table
****************
SubAssyID (Primary Key)
SubAssyName
SubAssyDescription
SubAssyUnitOfMeasure
SubAssyCost
Other fields related to SubAssembly

FinishedProducts Table
*****************
ItemID (Combined with SubAssyID for PK)
ItemName
ItemDescription
ItemUnitOfMeasure
SubAssyID (Combined with ItemID for PK)
SubAssyName
SubAssyDescription
SubAssyUnitOfMeasure
Other fields related to finished product

The above scenario is wrong, because I am repeating ItemName,
ItemDescription and ItemUnitOfMeasure (and also for SubAssembly) in
the FinishedProducts table. From your posts, it sounds like that is what
you are doing.

Here's how the above scenario should look;

Items Table
*********
ItemID (PK)
ItemName
ItemDescription
ItemUnitOfMeasure
ItemCost
Other fields related specifically to the item

SubAssemblies Table
****************
SubAssyID (PK)
SubAssyName
SubAssyDescription
SubAssyUnitOfMeasure
SubAssyCost
Other fields related specifically to the SubAssembly

FinishedProducts Table
*****************
ItemID (Combined with SubAssyID for PK)
SubAssyID (Compined with ItemID for PK)
FinishedProductDescription
Any other fields that are related specifically to the FinishedProduct

It is only necessary to store the ItemID and SubAssyID in the
FinishedProducts table. All of the other values related to those two
can be retrieved from their respective tables whenever you need
them. There are many different ways to do this (combo boxes, DLookup, etc.)
depending on your preferences, but the point is you don't need to store those
other values in the FinishedProducts table.

The same goes for the other tables in your db. One exception might
be if you have a table of sale transactions, then you may need
to store the FinishedProduct cost in that table if the costs can change
over time and you need the cost at the time of the sale.

As far as what problems you'll encounter if you put everything into
one large table, probably too many  to list, but let's just take one
scenario.

Let's suppose you're going to sell products (which you obviously do).
If you have everything in one table, then you've got to have fields like;

SaleItem1
SaleItem2
SaleItem3
SaleItem4

But how do you decide how many SaleItem fields you should have?
How many items can a customer purchase in one transaction?
Now let's suppose you decide to have ten. First of all, every time a
customer purchases only one item, you end up with at least
nine empty fields in that record. Second, you will inevitably have
a situation where a customer wants to purchase more than ten
items, so you will have to go back and add more fields to your
table. Either that, or you will have to create more than one record
for the same purchase.

Like I said, there are a host of other problems you'll encounter
with the one table approach. I would strongly suggest that you
don't try this. I speak from experience. My first attempt at db
design (some time ago) was one large table and it was a complete
disaster.

-- 
_________

Sean Bailey
0
Utf
2/19/2008 5:09:01 AM
On Feb 19, 12:09=A0am, Beetle <Bee...@discussions.microsoft.com> wrote:
> OK, so first I'm going to take a stab at the table structure you have now
> based on your posts, then I'll move on to how it should be. Keep in mind
> that I know very little about your db, so I'm just winging it with table a=
nd
> field names. I'll use three tables (Items, SubAssemblies and FinishedProdu=
cts)
> and I'll assume that a finished product consists of one Item combined
> with one SubAssembly.
>
> I'm not going to tackle the issue of how a raw material combined with a su=
b
> assembly is still a sub assembly, because this inherently doesn't make sen=
se
> to me. If you combine a sub assembly with something else, it seems to me
> it should become something else (an assembly perhaps?). Nevermind, I'm jus=
t
> rambling.
>
> So, based on your posts, it sounds like you have something similar to the
> following;
>
> Items Table
> *********
> ItemID (Primary Key)
> ItemName
> ItemDescription
> ItemUnitOfMeasure
> ItemCost
> Other fields related to item
>
> SubAssemblies Table
> ****************
> SubAssyID (Primary Key)
> SubAssyName
> SubAssyDescription
> SubAssyUnitOfMeasure
> SubAssyCost
> Other fields related to SubAssembly
>
> FinishedProducts Table
> *****************
> ItemID (Combined with SubAssyID for PK)
> ItemName
> ItemDescription
> ItemUnitOfMeasure
> SubAssyID (Combined with ItemID for PK)
> SubAssyName
> SubAssyDescription
> SubAssyUnitOfMeasure
> Other fields related to finished product
>
> The above scenario is wrong, because I am repeating ItemName,
> ItemDescription and ItemUnitOfMeasure (and also for SubAssembly) in
> the FinishedProducts table. From your posts, it sounds like that is what
> you are doing.
>
> Here's how the above scenario should look;
>
> Items Table
> *********
> ItemID (PK)
> ItemName
> ItemDescription
> ItemUnitOfMeasure
> ItemCost
> Other fields related specifically to the item
>
> SubAssemblies Table
> ****************
> SubAssyID (PK)
> SubAssyName
> SubAssyDescription
> SubAssyUnitOfMeasure
> SubAssyCost
> Other fields related specifically to the SubAssembly
>
> FinishedProducts Table
> *****************
> ItemID (Combined with SubAssyID for PK)
> SubAssyID (Compined with ItemID for PK)
> FinishedProductDescription
> Any other fields that are related specifically to the FinishedProduct
>
> It is only necessary to store the ItemID and SubAssyID in the
> FinishedProducts table. All of the other values related to those two
> can be retrieved from their respective tables whenever you need
> them. There are many different ways to do this (combo boxes, DLookup, etc.=
)
> depending on your preferences, but the point is you don't need to store th=
ose
> other values in the FinishedProducts table.
>
> The same goes for the other tables in your db. One exception might
> be if you have a table of sale transactions, then you may need
> to store the FinishedProduct cost in that table if the costs can change
> over time and you need the cost at the time of the sale.
>
> As far as what problems you'll encounter if you put everything into
> one large table, probably too many =A0to list, but let's just take one
> scenario.
>
> Let's suppose you're going to sell products (which you obviously do).
> If you have everything in one table, then you've got to have fields like;
>
> SaleItem1
> SaleItem2
> SaleItem3
> SaleItem4
>
> But how do you decide how many SaleItem fields you should have?
> How many items can a customer purchase in one transaction?
> Now let's suppose you decide to have ten. First of all, every time a
> customer purchases only one item, you end up with at least
> nine empty fields in that record. Second, you will inevitably have
> a situation where a customer wants to purchase more than ten
> items, so you will have to go back and add more fields to your
> table. Either that, or you will have to create more than one record
> for the same purchase.
>
> Like I said, there are a host of other problems you'll encounter
> with the one table approach. I would strongly suggest that you
> don't try this. I speak from experience. My first attempt at db
> design (some time ago) was one large table and it was a complete
> disaster.
>
> --
> _________
>
> Sean Bailey

All that's needed are the two tables, the items table, which contains
all types of items, assemblies, sub-assemblies, sub-sub-assemblies,
sub-sub-sub-subsub-assemblies,  and parts, and a structure table which
contains the parent part ID, the Child Part number and the quantity
per parent, and optionally an identifier code.

The primary key of this table is Parent ID and Child ID.
It can be used recursively for nesting sub-assemblies to an
undetermined level dependent on memory in the computer used to hold
the data. I've got as many as 12 levels on some items.

Example:
Car
-Drive Train
--Engine
---Fuel Pump
----Housing Assembly
-----Housing Casting
-----Threaded Insert
-Body
=2E..etc.



--



0
rquintal
2/19/2008 5:59:13 PM
rquintal

Fabulous, I'm so happy that you were able to fully grasp my (poorly
phrased) question. It also sounds like you are implementing this table
structure which give me hope.

Follow up question for you, just so that I'm clear:
Can your app handle the following input

Housing Assembly
-Part A
-Part B
-Part C

Car
-Drive Train
--Engine
---Fuel Pump
----Housing Assembly

Meaning, your firm manufactures the housing assemblyl which constitues
a portion of the Fuel Pump.

Furthermore, when your app costs out the bill of materials on the car,
it accounts for the sum total of Parts A, B, and C used in the Housing
Assembly along with all of the other 3rd party sourced materials.

Based on your post, it sounds like the app can do this, but I just
wanted to be completely sure.

Thanks again,

Kelii
0
Kelii
2/27/2008 1:40:10 AM
On Feb 26, 8:40=A0pm, Kelii <kel...@yahoo.com> wrote:
> rquintal
>
> Fabulous, I'm so happy that you were able to fully grasp my (poorly
> phrased) question. It also sounds like you are implementing this table
> structure which give me hope.
>
> Follow up question for you, just so that I'm clear:
> Can your app handle the following input
>
> Housing Assembly
> -Part A
> -Part B
> -Part C
>
> Car
> -Drive Train
> --Engine
> ---Fuel Pump
> ----Housing Assembly
>
> Meaning, your firm manufactures the housing assemblyl which constitues
> a portion of the Fuel Pump.
>
> Furthermore, when your app costs out the bill of materials on the car,
> it accounts for the sum total of Parts A, B, and C used in the Housing
> Assembly along with all of the other 3rd party sourced materials.
>
> Based on your post, it sounds like the app can do this, but I just
> wanted to be completely sure.
>
> Thanks again,
>
> Kelii

Yes, this is what any ERP (Enterprise Requirements Planning)
application is designed to do.

0
rquintal
2/27/2008 5:30:28 PM
Reply:

Similar Artilces:

Backup question
I've moved to a new pc and for some reason I thought that when you backed up, a new file was created. Am I right? At the moment, it's just backing up to the backup file. So I've just just my working file and my backup file. Please could you clarify this? Thanks again. In microsoft.public.money, abc wrote: >I've moved to a new pc and for some reason I thought that when you >backed up, a new file was created. Am I right? At the moment, it's >just backing up to the backup file. So I've just just my working file >and my backup file. P...

Question about Xml Schemas "qualified" and "unqualified"
In the textbook, there is a sentence that "Default XML namespaces(xmlns="...") helps a lot, but can also create problems, as a side effect of the rules for automatic qualification. How to understand "automatic qualification" here? Could you please give me an example? Secondly, unless otherwise specified, a schema prescribes that loal elements and attributes must be "unqualified". What does "unqualified" mean? Could you please giv eme an example? Finnaly, could you please tell me what's purpose of using these two things? Thanks a lot! ...

a question and a question
What is the correct name of the type of selection box used in "customizing Word", for example.... you select a word or operation from a list on the left pane and move it over to the right pane. Is there a template to build one of these? thanx You will have to explain more in detail what you are trying to do. -- Stefan Blom Microsoft Word MVP "cliffordjf" <cliffordjf@discussions.microsoft.com> wrote in message news:9856CCA7-8A8E-440C-A0D4-76EE4FA644E2@microsoft.com... > What is the correct name of the type of selection box used in "c...

Question about Paste Special
Hi, I have a problem sometimes with the paste special options when goin from one excel workbook to another. For example, sometimes when I cop data from one workbook and then paste special into another, I get th options that include: All, formulas, values, formats, has the option t transpose the data and paste link among other options. And the sometimes I try and paste data to another workbook and I end up th paste special options: Bitmap Image Object, picture, bitmap, and I als lose the ability to paste link. Well you can do it, but it puts it i as an object. What I want is the first past...

IE8 privacy question
I am running XP-Pro SP3 and considering upgrading from IE7 to IE8. I have read all the feature and benefit articles from MS, but have one question that remains unanswered. In IE8 there is mention of being able to restore previously viewed websites or something to that effect. I think this is on a drop down menu somewhere. 1) Does In-private viewing prevent this? 2) Does manually deleting your complete browsing history clear this? 3) Is there a registry entry that can prevent this action? 4) Is there a group policy change that can prevent this action? In essence for privacy pur...

IF AND question
Hi there, I need a function that can provide one of three answers: 1 2 1 1... 3 3 4 4... ? ? ? ?... If A1 = 1 and A2=3, answer 106; but if A1=1 and A2 = 4, answer 104; but if A1=2, regardless of A2, answer 95. The next function for column B is the same, except the answer is dependent on the value delivered from the column A function. E.g. A3 + 6 or A3 +4 or A3-5 etc. Any help would be most appreciated. -- ***** Many thanks Gamq Use the below formula for your first query. =IF(A1="","",IF(A1=2,95,IF(AND(A1=1,A2=3),106,IF(AND(A1=1,A2=4),104)))) ...

Microsoft Query question
I am trying to use Microsoft Query to get data from my SQL 2000 databases. The problem is that I have a few columns with names that conflict with keywords (like Identity). (Yes. I kow that keywords should be avoided but it is done and cannot be changed.) This is causing a keyword syntax error within the Query application. Oddly enough, even if I do not select the column the error still appears. And when you look at all the columns available, the keyword named column shows up in boldface. When I am doing queries in other programs I put square ("[ ]") brackets around column and table...

Question
Why did the chicken cross the road? -- Dr. Stephen Hopkins, MD "Dr. Stephen Hopkins, MD" <DrStephenHopkinsMD@discussions.microsoft.com> wrote in message news:B8434E21-DDA3-44D7-B39B-CD5A8C33A7BD@microsoft.com... > Why did the chicken cross the road? > -- > Dr. Stephen Hopkins, MD To collect her email, why else? Dr? You should be ashamed to put such a title on an idiotic off topic post !! -- Regards Steve. MS-MVP. MAIL. [DTS] UK. http://www.getsafeonline.org/ mac;1266180 Wrote: > "Dr. Stephen Hopkins, MD" <DrSte...

OWA Question #16
Hello All: Quick Question regarding OWA. We are about to finalize migration from 5.5 to 2003. We have an existing web presence already in DNS a www.mydomain.com. and running on existing web servers. With 5.5 natrually, to access OWA, it was www.mydomain.com/exchange. This will not be possible now since OWA runs off of the Exchange server instead of relying on our web server under 5.5. What's the easiest way to overcome this. Thanks If you can afford the extra license, you'll probably want to run a front-end server so no one is connecting directly to the Exchange database s...

Text Box Question
Greetings, I have been using Visio for years, however, something has happened and I can't figure out how to undo it. Basically up until today when I added a text box and entered text, the text went horizontal as it was typed. Today when I add a text box and enter text, the text goes vertical. How do I get back to the old behavior? TIA using text container shape adjusting tool (text block tool), make the text container shape wider horizontally. Have you used Asian text font recently?...check help for "vertical text" "Ray Batig" wrote: > Greetings, > &g...

401K questions
I just started a 401K at work and I'm wondering how to deal with it in Money. I've got my paycheck split into different categories currently and now I have to put the 401K amount into a category as well. I didn't see one specifically for this. What do other people use? Should I start using the 401K Manager? I haven't gone through it yet I'm just wondering if it works well and how much benefit I'll get from it. Thanks in advance! Mike You will want to create an investment account for the 401(k) and TRANSFER your contributions from your checking account to the...

VBA//Oracle Interfacing Question
All, I have been able to correct to my database but I have one question question: Within objSession I want to list all available tables and all available views. How exactly is this done? thank you. Set objSession = CreateObject("OracleInProcServer.XOraSession") Set objDatabase = objSession.OpenDatabase("", "User/Pass", 0) On Nov 16, 12:05=A0pm, jason <jason.mell...@gmail.com> wrote: > All, > > I have been able to correct to my database but I have one question > question: > > Within objSession I want to list all avail...

If / Then Question
How would I do this: IF A1="N" then I need A2 and A3 to="N/A -- pkniven ----------------------------------------------------------------------- pknivens's Profile: http://www.excelforum.com/member.php?action=getinfo&userid=2767 View this thread: http://www.excelforum.com/showthread.php?threadid=47531 pknivens Wrote: > How would I do this: > > IF A1="N" then I need A2 and A3 to="N/A" Hi pknivens In A2 and A3 use this formula > =IF(A1="N","N/A",""), this will return blank if A1 is not N, if you want it...

ROWCOUNT question
Hi All, The below is a UDF that returns the ROWCOUNT for a table. I need to know that value for WHILE loop. How do I take the Returned value from the UDF and load it intio a variable in the SP where it was called from? Or maybe there is another way. ALTER FUNCTION [dbo].[RecCount] ( @TableName CHAR(15) ) RETURNS TABLE AS RETURN ( SELECT Rows FROM sysindexes WHERE id = OBJECT_ID(@TableName) AND indid < 2 ) Thanks, Eric Eric S (xxx_noSpam@Hotmail.com) writes: > The below is a UDF that returns the ROWCOUNT for a table. I need to know > that va...

Exmerge Question #7
When I run Exmerge on a mailbox on my 2003 server to export to a PST, it will delete all emails after the copy. I thought EXmerge would "copy" not delete. is this the default? If so how can I just have it do a copy out to the PST and leave the mailbox alone. thanks Rick in "options", make sure "archive data to target store" is not selected on the "Import procedure" tab... -- Susan Conkey [MVP] "Rick" <drummer10980@gmail.com> wrote in message news:1165509540.777142.38260@16g2000cwy.googlegroups.com... > When I run Exmerge on ...

question about "delete"
I have a pointer: MyWindowClass *p = NULL; p = new MyClass(...); .... delete p; After delete p, does p equal NULL(it is in C++ standard?)? How to decide if p has been deleted? The reason I asked this question is that in my project, there are many code/files use the pointer which I need to determine is it is deleted? Can I use: if(p != NULL) delete p; I guess somewhere p has been deleted, but p still not NULL(possible?), the above code might cause problem. Hi Kathy, I typically just set p to NULL when I delete it: delete p; p = NULL; Then you can check it in other places and ...

More combining companies questions
We too have acquired another company and need to look at all of our options concerning what to do with email. We run Exchange 2003, they run Exchange 2000. What is the best way to combine the two so we can share GAL, free-busy info, etc.? No decisions have been made as far as what we are going to do with their AD. We could of course change their MX record to point to our server, update our RUS, etc., but what if we want to keep an Exchange server at their site? What has to be done to join their server to our Exchange org? If you want sync both GAL,pls check this http://www.microso...

switchboard question 12-26-07
Is there a way to put the names of different switchboard pages on the switchboard form? If you put one name on a switchboard page (in form design view), the same name appears on all the switchboard pages. I understand why this happens, but what if I want the user to be able to know which switchboard s/he is on? Thanks. PS the same thing happens if I go into form design view and put in control tip text. It puts the same text for the same-numbered menu item on two different switchboard pages. "Debbie S." wrote: > Is there a way to put the names of different switchboard ...

Some Questions about Outlook
1. what's the max size of attachment for sending email? 2. newMail notifitor: when there is a new mail, can the tary be changed to other until i check the mail? can it work with hotmail? 3. is there any function likes "To Do List"; calendar require time setting? 4. configure file backup; can i back up all of my setting? -- Me, Who I am On Sun, 7 May 2006 22:17:01 -0700, Dotku <lwjct@hotmail.com> wrote: >1. what's the max size of attachment for sending email? That would depend on your mail server/ISP. >2. newMail notifitor: when there is a new mail, can the ...

Simple CRM 3.0 Questions
- If an account is no longer active, what's the process to make it inactive? - Can a lead have multiple contacts, with one acting as the primary contact? - When I create a new lead, what the 'Topic' field usually used for? - When creating a lead, on the Details Page, how can I add entries into the 'Industry' and 'Lead Source' drop down lists? - Will CRM track all e-mails associated with a lead? How do I ensure this? - How do I promote a Lead to an Opportunity to an Account? - What's the real definition of an Opportunity? It seems so grey compared to...

Toolbar question
I have created a combo box on my toolbar. I am using 32 x 32 buttons, so my combo box is sitting high up. I would like to move it down to the center of the toolbar. To create it I used the following code, CRect rect; SetButtonInfo(14, IDC_FILTERNAMECB, TBBS_SEPARATOR, 200); GetItemRect(14, &rect); rect.bottom = rect.top + 200; m_cbFilterNames.Create(WS_TABSTOP | WS_VISIBLE | WS_VSCROLL | CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT, rect, this, IDC_FILTERNAMECB); How do I tell it to place itself in the center of the toolbar? Here is my code: code is from inherited CToolba...

number format question
I need excel to format a list of ip addresses. The problem I am having is that I cannot figure out how to get the columns formatted so any number I put in will be three digits. So a two digit number such as "24" needs to become a three digit number (024 in this example). Here is a real example, if I enter: 158.2.151.13 Excel needs to make it: 158.002.151.013 Can this be done? Thanks all! ...

Question to Microsoft
Hi, I am really fedup with this news group if no one reply what is the use of this site. I have a suggestion why dont you show reply send with the question. Thanks ...

Newbie question about Ex 2003
Hi to the Gurus amongst you, sorry about the length of this but I feel the need to fill you in with the scenario before I ask the questions. I have just got a new job with a global company. I used to work at a school before with two domains and about 800 users. I have installed and maintained Exchange 2002 at the school. The new company wants to get better organised with their e-mail. They are not running any form of Exchange, they have Linux servers with their own portal and a couple or three W2k servers (Don't know yet which service packs are installed). They are using Outlook...

Headquarters question.
I have a 7 store + 1 warehouse in which purchase orders do not get created for each individual store. What takes place is that the purchasing manager purchases for the warehouse then distributes inventory to the individual stores. Any ideas? Hi Phil, I am assuiming that you have already purchase RMS HQ and RMS Store. In this setup , you will need 1 HQ and 8 Store..1 store license that will function as a Warehouse only and 7 for Stores that will do the sales and inventory transfer except for PO. In this way, you can have a centralized purchasing location ----------------------------...