I have a PO DB that I'm trying to normalize. For the most part it is normalized but there are 2 fields that are not normalized because they repeat data. So I'm trying to restructure a bit and having some problems when it comes to data entry via forms.
There is also a PO table above this one but is not used in the subform for the details.
My old set up for my PODetailsTable
PODetailsID pk
PO fk
Item
Quantity
Price
Allocation
I want my new set up to be
PODetailsTable
PODetailsID pk
PO
ItemID fk
Quantity
Price
AllocationID fk
ItemTable
ItemID pk
Item
AllocationTable
AllocationID pk
Allocation
On my form I can't enter anything that is already on the ItemTable. I looked at some microsoft sample DB's and they have you enter the item from a different form then you can select it in from the combo box which would really slow down data entry peticularly early on.
Is there a way I can type the Item in and if its new, it will be put it on the ItemTable associate an ItemID to both tables?? But if its already in the Itemtable just apply the already existing PK on ItemTable to the FK ItemID on the PODetails Table for that record??
Here is a A2K format of it which is how it currently works. In the relationships window you can see an example of how I want it but can't get to work.
I know there is no more than 4 dups of each record.
what i want from this is a table that will give me a record of how many dups for each record then all the dates that they were added and the date between each record entry.
Hey, all! Thanks for helping, here is my situation.
I have a table with about 70,000 records that have duplicate Address field values. The rest of the field values for those records are different. When I do a find duplicate querry I get the result that 17,000 records have the same address. However, when I do the append qurrey as instructed here: http://support.microsoft.com/?kbid=209183 I get a total of only 600 records in the new table. I have tried deleting all of the indexes for both the new and old table, with no luck.
I'm using Access 2000 on XP Pro.
If anyone could help with this I would greatly appreciate it!
ok im working on a database that a company sends its employee to school and tracks there training.what classes they take what not.. my tables were fine until i realized that supervisors were also employees so i need to add a supervisorID i dont know how to do it without screwing up all my foreign keys i assume it goes into my employee table and department table but then where do i put my departmentID foreign key?
I currently have a database which I believe is in 3NF. It's completed as such, but I have recently come accross normalization methods. Because of this I would like to know how my 3NF tables could look in 0NF, 1NF and 2NF. For both the purpose of ensuring the database is correct now, and for future reference...to do a more professional job next time!!Here's how the tables currently look:CUSTOMERS(CustID, CustName, CustAddress)ORDERS(OrderID, CustID, OrderDate)ORDERDETAILS(OrderID, BookID, BookPrice, Quantity)BOOKS(BookID, AuthorID, BookName, BookUnitPrice)AUTHORS(AuthorID, AuthName, AuthAddress)It's just basically a simple book royalty system. I have looked around various sources for examples, but my database has a few more tables in 3NF than most examples show.Thanks guys.
For my job history entity should I just store my placement number and remove the candidate number? Since placement number already determines the candidate number in the placement table.:confused:
I have decided to normalize further and now have brain freeze. I have a table 'tblComputers'. I have removed Computer Make + Computer Model to own tables and linked via ComputerMakeID & ComputerModelID, this is working OK.
I then decided to remove RAM to its own table. I created tblRAM. I added additional rows in tblComputers 'Memory Slot 1' Memory Slot 2' etc. tblRAM has 2 columns RamID & RAM so....RAMID 0 = 0 RAMID 1=128 RAMID2=256 etc..
My issues? What to link RAM to relationship wise then allow users to select multiple instances for different memory configurations to save values back to 'Memory Slot 1' 'Memory Slot 2' in tblComputers?
The first table contains Employee ID, and Name of Employee
Second table contains Employee ID, and an autonumber
The third table contains an autonumber and a unique PIN
The 1st/2nd table are connected by Employee ID, the 2nd/3rd table connected by the autonumber. Now not every Employee gets the unique pin and the 3rd table gets re-done every year. This structure works great for all "current" employees. Employees that leave get deleted out of the 1st table, thus causing them to get deleted out of the second table due to relationship. This becomes a problem because I need to keep a record of who had what unique PIN, regardless of who is still assigned one or not. Anybody have any ideas on how to do this.
I'm not a programmer and know very little about setting up access databases other than the very basics...however...due to my politics background, I'm setting them up for the local government....just my little disclaimer about why I'm asking stupid questions.
I am creating a database for multiple users who are of two sorts. The users deal with either the setting up of a contract, or with the payment of a contract. Both of these groups need to be able to access different information about the same contracts. What seems most logical to me is to create two tables in the same database, one for the contract, and one for the payment information and have both update when one or the other is worked on.
My basic set up for now is this: Table One: contract information Table Two: Payment information Link Key: Serial Number from contracts These are my questions:
1) is there a way to set this up so that the only way someone from the payments group can create a linked record is if a record with the same serial number already exists in the contracts table? 2)Is there a way I can set it up so that when someone in the payments group starts to input their information, they can find the serial number they want, and have certain fields show up? For example: I want them to be able to search for a serial number and have the contract name show up with all of the previously entered payment information, then have a new field each time they go into it for their next payment (if that makes sense). 3) When linking, hopefully in such a way as to do the above, do I need to have the same field name in both tables, or...? I'm a bit confused as to how this works as initially i created a field in both tables that would have the same serial number and tried to link those..and it didn't work.
Sorry if this is so confused...I'm sort of learning as I go along.
I am having some questions on a order entry DB I'm working on, (modifying an existing one). I've attached a shot of the current relationships to demonstrate. Basically to start this was an order entry db to place orders to one vendor, so this was not a problem then... But.. Now I am modifying it to order from more then one vendor. So, I have the order form. You first pick the Vendor the order is going to, then the Customer and delivery site. Next you move to a subform to pick your items from a dropdown. So the problem... I have a new table for the Vendors. This table is related to the "Order Table" on a one to many. But what I also need is the VendorID to be in the table "tblItem" Thus when the Vendor is picked in the main form ,it can be filtered in the subform to only show items from this vendor. Now this would work by placing the Vendor ID in the "tblItems" table and relating the two. But would this be proper normalization to have the VenforID as a FK in two tables???
I am putting 80 rows (personnel) of data with about 20 columns (training courses), to track training for my people. Is this enough that I would need to make several tables, or am I correct in thinking I can put it all in one table? From what I have been reading, this is a pretty small table, but I want to make sure.
Hello all, I have been tasked to create a database to track tooling information for my company. I have a solid idea on the process involved and would like some help getting my tables and relationships setup with normalization. I have noticed in the short time I have been learning access that normalization is the key to happiness.
A short synopsis on how this should work: A model is built from many different parts, these parts are sometimes (usually not always) associated with the tool that is used to build them. A tool could be used to make several different parts and some parts use several tools. In addition to this, a model can use a different quantity of parts to build it and those parts can require different quantities of tools to produce them.
I have tried several different ways to relate these tables together, and would like to ask the braintrust that is this forums for any help they could give me.
I have a contract-tracking database that has been in use for about a year. It used to be that every contract had the same number of periodical "applications" with it - the companies we worked with would send in 4 applications over time.
So, I had this set up:
tblCompanies (the companies with whom we work) - CompanyID (Primary Key autonumber) - CompanyName - Address, contact info, etc.
tblContracts (the contracts we issue) - ContractID (Primary Key autonumber) - CompanyID (foreign Key) - DateIssued
tblApplications (things companies send back to us over time) - AppID (Primary Key autonumber) - AppDesc (description of the application - something like "Application 1", "Application 2" , etc.
tblAppsRecvd (Join table/log of apps received) - ContractID (foreign key to tblContracts, so we know which contract this applies to) (also a composite primary key, so we don't duplicate an app to a contract) - AppID (foreign key to tblApplications, so we know which application we rcvd) (also a composite primary key, so we don't duplicate an app to a contract) - DateRcvd
Pretty self explanatory. Everything was keen, and I was reaping the rewards of a job well done.
But now we've expanded out contract offerings. He have introduced 2 new types of contracts, and each contract has a different amount of applications associated with it.
Contract 1 has 4 apps. Contract 2 has 2 apps. Contract 3 can have 1 to 8 apps. (The last app before a contract closure is always considered "Final" - so if we get 5 apps, it would be apps 1, 2, 3, 4, and Final.)
I've tried implementing a couple different schemes, but none seem to be fitting the bill. The type of contract will dictate how many apps we receive - i.e. If we are using Contract 1, then we KNOW we'll recieve 4 apps over time. So, is this as simple as adding a "ContractTypeID" to the tblContracts with an appropriate tblContractType table, and expanding tblApplication to more apps, or is there a smarter scheme?
Im setting up a database that contains information about printed circuit boards that are being developed for our current project. The information that i need includes the following:
Board # - 3 digit number Board Name - Module # - 9-digit number Module Name - Project Leader - engineer responsible for design In/Out/Oem - inhouse, outsourced, or purchased OEM Designer - engineer or outsource contractor who designed the board MFG/Assembler - company responsible for building the boards Directory - file on network drive the drawings are located in
There can be mutiple boards in a single module. So i have 3 tables right now.
pcb_tbl - this includes all the info above minus the module info.
Module_tbl - this table includes the module number and name and responsible engineer, with the module number being the key.
module_pcb_tbl - this table lists the module number in the first field linked to the module table, and the pcb number in the second field linked to the PCB table.
I have recently been blessed with an 80 column excel sheet and am in the process of producing a normalized db; however, I am not sure that I am following the rules correctly. If anyone is willing to check it over, below is a copy of my potential relationships.
Also, I am willing to learn. So feel free to harass and advise.
Many thanks in advance. ---------------------------
Name(StudentID, First, Last, Middle, Maiden, Spouse, Prefix, Suffix)
I'm designing a database for my place of work. I've created the tables and relationships, and would like to know if the design conforms to Normalization?
A .jpg is attached to this message showing the relationships.
I have two forms bound to different tables. I will use an example to illustrate my problem. I have 4 people who have each sent me 5 documents. I do not currently know the identity of these 4 people so I can not create a lookup table. In the future they will continue to send me docuements. In addition, other people, currently unknown, will send me documents. My first form records the author and the second form records the document info. I have 3 problems. The first is setting up a procedure to make sure the authors name does not already exist. The second is creating a link between the forms so that the authors name is linked to the document the first time. (If you have read any of my other posts you know this is part of law office db and everything is already linked by client and case so this would be a third link for these two forms. All 3 links are necessary here because the same authors may send docuements on more than one case). And my third problem is setting up some sort of query or lookup procedure so that I can link the author to the docuement. I cant use the author as a lookup table because I dont know the authors ahead of time and there will constantly be additions to the authors. Its complicated bythe fact that I need to check each docuement to see if its written by an existing author or new author. I'm almost tempted to combine the tables and use one form but that would be serious violation of normalization. Some Authors will be sending in excess of 50 documents. Can anyone help me. I am completly at a loss as to how to do this.
I am building a database for a clinic to house patient information. At the moment, there are 300-400 fields in 6 tables all linked in one-to-one relationships by a file number (PK). The clinic wanted the forms to look like the paper forms they use to assess patients (15 different forms), so I created forms that are all linked by command buttons so they open sequentially, and the File Number autopopulates in the next form. Trouble is some forms are based on multiple tables, and I keep getting the message..."causes duplicate values in primary key...cannot save record at this time". I would like to add a new record to all the tables by entering the PK in one field first, and then enter the data by opening the forms in edit mode- this seems impossible. I have this sinking feeling that my tables are not normalized and my design is flawed. This is the type of information I have, and would like to keep confidential data in a separate table with limited permissions:
tblConfidentialDemographicInfo file number patient name dob parent name mailing address city postal code telephone number parent employer pediatrican child psychologist school name teacher name custody arrangement research study participation (10 studies...option group, 1 for yes, 2 for no)
tblDiagnostic (MH disorders, all option groups (1 for yes, 2 for no) Tourette's ADHD Depression Bipolar Learning Disability Etc.
tblHomeInformation many questions with multiple responses in drop-down box num children in home pregnancy details (bleeding, c-section, breech- again all option groups) numerical scores on questionnaires
tblSchoolInformation test scores observations in school split grade special help (list)
tblPsychoeducational Assessment IQ scores for subscales and full scale scores on achievement tests (numerical)
Any suggestions appreciated, Thank you very much in advance.
This is a database that was handed off to me for upgrading.
The person who initially created it made the Name field in the table contain the entire name... So a single entry in the field looks like
CHRIS R LOUNSBURY
The table is in the attached table. This is merely a sampling. The main table has over 3,000 names in it. Is there an easy (or maybe not so easy) way to automatically parse that data and split the names into their own fields.
An example would be the string CHRIS R LOUNSBURY. Run code which takes the string left to right to the first blank space, and splits it off into First Name field. Take the last part of the string (right to left) to the first white space and put it in the Last Name field.
Is this possible? Or do I need to find myself a temp employee to data entry all this over again
The question is whether or not to normalize the fields "Place of Birth/Place of Death" in my 100'000 records famous people data base. So far, 15'000 different birth places are deployed. Only 3'000 of them are used more then once, that is to say from 2 to a maximum of 1000 times (New York City). 12'000 birth places are therefor used only once up to now. So, a table of 15'000 places would need a 3-digit (all characters used) or even a 5-digit (numbers only used) identification. In the latter case the ident would often be longer than the returned value (Wien, Oslo, Rom, it's in german, you know). Furthermore, instead of just entering a birth place like "Novodny Chomarowsky" I had to search the table of places whether or not the entry has been used yet. Please supply strong pro-normalization-arguments.
I am having trouble with the table design of my db.:confused:
What I am is a human resource supervisor trying to develope a database to track the hundreds of actions that come in and out if my office on a weekly basis.
I am almost there, in regards to table setup and relationship setup, except I am stuck on something and any advive I can get would help tremendously.
Here is what is going on:
I need to be able to relate my customers to the actions they turn in..and track them, the actions, until complete.
I have attached my db and will answer any questions needed. Will someone please take a look at it and evaluate what you may think is needed to get the "ball" rolling.
Am new to the forum and it seems a good place for help,
Am having some big problems with a database that i am using for a company. The problem being that users need to enter ref numbers for each record on to the database called "c3" numbers, there could be a unlimited amount of these numbers(they do need to be able to reported on though) per record
At the moment i have a serperate form linked to my original form with a lot of seperate fields labelled like "c3number", "c3number1", c3number2" and so on which the user enters the c3 numbers into ans saves
however it is becoming very hard to do counting reports with it set up like this.
has anybody any ideas's on how i could make the setup simpler?
I decided to normalize my addresses out of COMPANY and CONTRACT entries into a seperate table. This idea works fine until I try to add new entries or update existing entries.
Normalization has made it impossble for my database to function properly.
Heres the situation: Company Mainform, AddressSubform.
AddressID PK for Address AddressID FK for Company
Add New Company: Enter Company Name, Company Address ID Defaults to 0 (which is not an AddressID), I insert code in the AfterUpdate of the CompanyName to make AddressID "", ok, insert rest of company data.
Insert Unit or Street data for Address, get error message saying I cant enter this data, push ok, continue to enter data, enter new autonumber Manually in AddressID field for Company, pull hair out, scream a little, Close.
... This is the only way I can find of making this happen. The problem is that the AddressID for company needs an AddressID from Address that hasnt been created yet. The error message when entering address information has to do with the fact that the AddressIDs wont match up for this record.
An examples attached... i think its a principal anomoly... let me know if you can resolve it..
Here is where I get lost. Each item has a variable for each month So item 1 January = .01 February = .03 ECT. Once set the Variables rarely change, at most once per year.
I will need to be able to pull an item and based on what month it is pulled uses the variable to multiply several other factures.
My first Thought was,
tblVarItemList IDVarList FKToItemList VarJanF VarFebF VarMarF --And so on--
It just does not look right. Any Suggestions on what might work Better. :confused:
Hi, I want to create an access app that will allow a user to see the number of pages printed by various printers.
These are the data that I have: Model Type (various are available) Printer's name (unique to one printer) IP addr (unique to printer) Quantity printed (such as Single Legal, Double Legal, Single Letter,etc)
This is what I have (2 tabels with 1-many relationship): Printers PrinterID Model Name IP
ModelTypes ModelID Model
Now, where do I place the quanties of paper printed? Do I just leave it in Printers?