Form Design Strategy On Schema With Many M-M Relationships
Nov 4, 2005
Hello,
I have a couple of elementar level questions on Form creation process and standards invloving a schema with several M-M relationships. I have a highly normalized design (thereby producing several junction tables). I have attached a picture of my schema to give an ideal of the schema I am talking about.
1. What is typcially the process of creating Forms on such a schema for the purpose of data-entry. Meaning, should there be several Forms (on the order of # of tables) or should there be a few that enables simulataneous data entry to many tables through one Form. What is typically the practise?
2. If there are 3 tables (A, B, C) so that A and C have a M-M relationship and B is a junction table that makes A &B and A & C have a 1 - M relationship, then how does one enter data for A, B, and C so that all the three get populated?
3. Can someone provide a copy or link to a sample database that has a similar normalized schema and Forms built into it that takes care of the data entry to the various tables?
Hi all! Here is what I want to do, and what I have done so far:
I have one table called "AUTOS" This is a table imported from pc file, and tweaked to make it work well in Access. I learned alot doing this, and now have workable forms, queries, and reports being generated on this table. I learned on here not to let my users "work" with the table, only through forms. So that all works very nicely!
Here is the next step. First a simple background: We are a Used car dealer. Table "AUTOS" contains rows, each one consisting of many Fields. The main one being "Stock NO". Then all the remaining fields are vehicle info (many fields, but all relating to the vehicle type etc), cost, sales price, etc.
What I want to do is create a new table, called RECONDITIONING. In this table I want to store everything done to a vehicle after purchase. For example, if we purchase a vehicle, then change the oil, put on new tires, and detail it, I want these items in the reconditioning table. But I want them to remain linked to the "correct" stock number in the main table.
I believe I have done this, by doing this: I created a second table called reconditioning. Added the fields I wanted, the first one being "Stock NO". I made "Stock NO" in the main table autos the primary key, and then opened relationships, and linked the reconditioning table to the main table via that field.
It appears to have done what I wanted too, because if I open the reconditioning table, and type in a vehicles stock no, then the reconditioning info, then go back to the main table, there is now a + next to the row. If I click this plus, a box drops down with each item I added to the reconditioning table. So far so good!
Here is the main question: Now that I have this info in what seems like the proper fashion, how do I work with it?
I need to create a form, containing elements from EACH table. The design I have in mind is like this:
Across the top, I want vehicle info:
Stock No Year Make Model Date In Cost 5922 1994 Ford Focus 1/1/05 1000.00
Then under that, I want a "table" in a form, which pulls from my "reconditioning" table, listing each item that has a stock No that matches the one on that record:
Ok, now, I want to allow my users to add to that on this form, to type in new entrys. I think I got the idea how to do that, but suggestions are welcome. Now, on this form, I want at the bottom, the following:
Vehicle Notes: (Just a text field for "notes" on a particular vehicle)
Total Reconditioning cost: (this is a field on the FIRST table, AUTOS, that I want to calculate by adding the total from the list above, IE in this case, 95.00)
Total_ACV: This is a field from the first table as well, which I want to calculate using (Vehicle cost: Which is in the first table)+(Total Reconditioning Cost: which is above)
Like I said, I think I have the table layout and design correct, I am just not sure of how to work with values in linked tables like I have done, and I am not sure get the right info in my list on the form, then add the totals properly.
Hi Guys, thought i would pick your brains to try and help me figure out how to build this database. Any help would be very much appreciated as this one is making my head spin.
Brief::
I need to create a database that will hold information about our suppliers and the products that they stock and make.
One supplier can have a number of contacts that we speak to. The supplier produces a number of different products. Each of the suppliers stock certain items in certain sizes and weights and make the remainder of their stock to order, so each supplier has a number of different supply options. So in addition to the multiple supply options their are multiple sizes & weights, as well as multiple qualities.
dont know if this helps people to understand buit the products we are talking about is paper (sheets or paper & reels of paper)
example.
Joe BLoggs (Supplier) has 3 sales members (Louise, Maggie, Sue) this supplier holds some sheets and some reels in stock (Stock Sheets, Stock Reels) but they also make sheets of any size and weight between a certain range as well as reels (Bespoke Reels, Bespoke Sheets). These sheets and reels can be of different qualities (gloss, silk, offset). These different qualities can have a number of different grades (Manhattan, Triumph, Charter) and will be available in a number of different weights (70gsm, 115gsm, 150gsm).
The idea behind creating the database is to allow the sales team to query the database to find a supplier that can match the customers criteria.
I have created the following database tables
tblMainDetails AccNo (PK) SupplierName Address1 Address2 Address3 Address4 PostCode Tel Fax Web Email
tblContacts ContactID (PK) FirstName LastName Tel Email
hey.. I’m a complete newbie at designing tables and relationships, so pls bear with me..
Im trying to construct a db that records all the details for an importing company.
Background: the company imports goods (shipments conducted by Freight Company), from a Supplier, in Containers, and then arranges Delivery of the goods (delivery completed by Haulier Company). Customs requirements must also be met.
Here are the relationships: 1)Each shipment (tblShipping) can have many Containers, but each container can only have one shipment (tblShipping) : 1:M 2)Each shipment (tblShipping) can only have one Supplier (tblSupplier), but each Supplier can have many shipments (tblShipping): 1:M 3)Each shipment (tblShipping) can only have one Freight Company (tblFreightComp), but each Freight Company can have many shipments (tblShipping): 1:M 4)Each shipment (tblShipping) can only have one Haulier (tblHaulier), but each Haulier can have many shipments (tblShipping): 1:M 5)Each Container can only have one Delivery (tblDelivery), but each delivery can have many containers: 1:M 6)Each Container can only have one Customs Check (tblCustoms), but each Customs Check can have many containers: 1:M 7)Each Delivery can only have one Haulier, but each Haulier can have many deliveries: 1: M
These are the most important relationships (not all of them).
Where I’m getting confused is whether or not I should (or need to) create additional junction tables? If someone could have a look at the attached screenshot (of my tables with fields and pk's - but no relationships defined yet) and advise, I’d really appreciate it!
Also, im having some major probs with my variables and forms… the P/C No in the Shipping Table is the most important value here. This number is used repeatedly throughout the process. Problem I’m having is that this number needs to be alphanumeric, and also get passed to each other table (hence P/C No as a fk in each other table). How can I do this? Ive been playing around with loads of diff relationships but with no luck. I ideally need this alphanumeric number, when entered in the first form, to be ‘sent’ to other forms, as I chose. How can I do this?
Hi, I'm trying to design a database for a childrens group but am having trouble entering data now I've created the tables and many to many relationships. I normalised the child registration form which had the usual data but also contained things such as allergies, doctor details and emergency contact details. Now, when I normalised these I came out with a table for each of these 3 things linked to the child table with a many to many relationship. Looks good....but when I want to actually enter data, Access says I need the data in these tables before I can put them in the 'child' table, as these are the primary key tables. OK, most databases would probably require the admin person to select the doctor and an allergy from a listbox linked to these linked tables, but what about 'emergency contact'? There can't be a table populated with emergency contacts, before the registration form is entered. What should I do? Keep the emergency contact and their details fields in the child table and ignore the rules of normalisation?
I have a DB that I just distribute a shortcut to a front end on a network location. Then when I update the front end I delete the old one and give the new one the same name as the old one, so everyone's shortcut still works, but the FE has changed.
I haven't seen anyone else do this, which makes me nervous. Can you see any potential problems with this strategy?
I would like to add to my VB6 app the ability to build an array of what tables are in my Access database, and the fields that are in each of those tables.
I am working with this database using ADODB, but it doesn't give properties like Tables and Fields, for example.
I am happy to open this database some other way, grab this info, close that connection, and proceed using ADODB.
I am very inexperienced in databases and I am currently attempting to design a database and there is one part of the schema where I am unsure how to proceed.
I need to model schools, pupils and teams. Schools have a number of pupils as do teams.
I rushed in with the following design but it just seems wrong to me. I don't know much about database design but I don't like the idea of having a kind of loop/triangle in the schema like this.
Is there a way to print the schema of a table right out of Access?? Basically I just want to print out all the field names, data types and descriptions. When looking at the table in design view MS Access 2000 does not give you the option to 'Print'.
We have added new columns to a table in our developer db. Now we need to get these columns into the client's system.
Their computer is running on Access runtime, so if we change our existing Access db into a Mde would it be possible to upgrade their database with the changes without corrupting any of the client's data? We're quite happy to overwrite the forms, queries etc. but what happens to the client's data? especially when we have made some changes to the database schema e.g added new columns to the table?
I have some questions about a schema design I am working on. After much trial, it appears to me that a particular table is not and probably does not need to be related to any other table in the schema. So my questions are:
1. Is it right or quite typical for schemas to have some tables which are orphan (i.e. unattached to any other tables)?
2. If tables can exist in isolation, then what are the primary purpose they provide? I have a suspicion that if fields from an orphan table are used in query etc, then the possibility of Cartesian joins will arise. If so, how does one take care of avoiding such a problem?
I have taken over exisiting databases and the names for the tables,forms,queries,reports are not technically named correctly.. What would be the easiest way to rename everything accordingly:
tbl for table qry for query rpt for report mcr for macro bas for module frm for form.
Of Course they have names but it is hard to tell when viewing a query for instance if you are looking at a table or a query.... in the SQL View.
I have a xml schema which defines all things necessary (tables, field names, relationships, etc) to build a database in access. The question is whether Access could decode xml schema and build the database (create all tables, fields and relationships) automatically by macro or something else. I have tried to load xml schema by using external data in Access. However Access can only recognize some tables, not everything.
Hi- I am trying to create a Registration form for Events and I'm having endless trouble getting it to work. Basically, I have four tables: Contacts, Registration, Payments, and Events.
I either cannot delete registrations when I need to-I delete a record in the form, but when I reopen it it is there again; or the pmts table is adding blank records. So when I try to create a query to get a list of registrants, I will get two fields with the same name and Reg Id, and one with a pmt and one without. I want one record per person registering and Im not getting that in my database.
Most, but not all, people are paying for events. Some people are staff or scholarships. I want to be able to see just one record for every person who has registered, whether they have paid or not. Im either seeing two records with the same reg number, or missing people that have not paid.
I have tried all kinds of configurations as far as relationships and Reg form and Im pretty stumped at this point. Any help would be greatly appreciated!
I now understand that when opening and saving crosstab queries Access (2010) runs that query to ascertain the column names. Unless you hard-code them. Running the query takes at least 20 minutes. I have hard-coded where I can, but one report takes arbitrary dates so I can't hard-code them.
I believe that turning off AutoCorrect might make a difference to whether the query runs - but I don't want to turn it off.
I'm designing a relatively simple access database with four linked tables:
- users - computers - licenses - license_users
Each user as a computer_id linking to the computers table; they also have a set of rows in license_users, linked via their userid, that join them to the licenses table. The relationships are enforced with referential integrity. Everything works fine when I enter data manually in the table datasheet view.
I've designed a nice form to make it easier to enter data for all the tables at once, but when I try to enter the data it all goes wrong. I'm unable to enter any data into the users table fields until I have complete the computer and license data. If I enter that first, then start entering data into the users fields, the computer data suddenly disappears. If I inspect the table then the computers and license_users has been entered, but nothing is entered for the user and I can't get the rows to relate to the users!
It's a while since I designed any Access databases, and I'm stuck, so suggestions would be appreciated.
When I'm applying a sort and filter in a form, Access is updating the Filter and Order By properties of the form, so that it is possible to re-use in conjunction with Filter on Load and Order By on Load properties. However, a consequence of this is that when the form is closed, it prompts the user whether they want to save the design of the form. I want to circumvent this as I don't want to re-use the sort and filter and I don't want to be prompted to save the design of the form.
Although I can circumvent this by closing the form using a method that doesn't prompt for saving, the additional complication here is that the form in question is in the Navigation subform of a Navigation Control. Hence when I click on a another Navigation button, it (not me) closes my current form and hence prompts me whether I want to save the design of the form (if I have been sorting and/or filtering). I can't see how to circumvent this and the prompting is resulting in unacceptable usability.
Basically I need to design form that looks very similar to either Split Form or Subform. I have attached a print screen of what I roughly need. The form is split into two parts. In the first/top part there are some List Box/Date fields that act as filters to the bottom form, so the bottom form displays only records that match values in red. The second part of the top form has some field that require input from user and then these records are added to the bottom form. I was trying to use both Split Form and Subform and none of it is working,I have attached an example of database and this form would be based on data from Query1.
Hi everyone, I've tried several different things to get around this problem and have found out a lot about what won't work!
Basically I am building a HR database. The main table is M_CandidateDetails and the primary key is CandidateID. This is a foreign key in all of the other tables: MCandidateEducation, MCandidateEquipExp, MCandidateSector. (I've attached a screenshot of the relationships.)
Goal: What I want to do is create a continuous form with one record for each candidate. A record will show all of the info pertaining to a candidate. The form is to be used to for searching and filtering candidates.
Attempts.. First I tried creating a query to combine all of the information. (I've attached a screenshot of the query). The only problem with that was if joe bloggs had worked in 3 different industry sectors there would be 3 records for him. (I did have problems with the query not being updatable - solved that though by using the Dynaset property of the form)
Next I tried basing the form only on the M_Candidates table and using listboxes to display the information from the many-side of the various tables. But that didn't work as you cannot use an unbound control on a continuous form.
Then I tried putting in subforms instead of listboxes but you can't use subforms on a continuous form.
I have a sub form in DataSheet view and I would like to lock the design so that the User should not change the layout
Even when I set the property of the Datasheet “Allow Design Changes: Design View Only” users are able to unhide the hidden columns and they can also change the size of the column by dragging the column end line
Does any one know how to lock the design of datasheet ( I am using this sub form datasheet for data entry but do not want users to change the layout)
I am a novice to access. I am building a database in an effort to learn in the process. I wished to enquire about the possible issues that could be with defining the relationships that i have created in the project. (attached img).
I cannot seem to define a form based on these relationships to input the data.
Just wondering if any one can help. Ive create a table of parts, and each part has a home line. Now the problem is each home line has different characheristics. So im wondering is there a piece of code that will prompt the user to enter a part number (through a query I know!) and then depending on the Line number open up a form that will have the predefined charcateristics.
Hi, i am hoping someone can help with designing a form for this structure or even have suggestions on changing my design. A nutritionist has 3 types of people (whom she sees seperately from one another) on a regular basis, they are clients, doctors and business contacts. She wants all 3 types of people in the database and want to track appoitnments with them. She has many doctors, clients and so forth. I created tblPerson so a person can be all 3 roles if they wanted to. I was informed that she has some doctors that are clients. But i am stuck wwith creating a form for this design. I want to be able to have a combobox so i can look up and fill the information based on my selection, but for the main table(tblPerson) i only have the name and gender, nothing else that is unique to identify a person, so i am out of luck if 2 people have the same name. As you can see the main table has an autonumber primary key the has a 1 to 1 relationship with the 3 role tables. If anyone has suggestions, let me know. Thank you very much. This is what my design looks like.
tblPerson fldPersID, autonumber, PK fldFirstN, text fldMidN, text fldLastN, text fldGender
tblDoctors fldPersID, Long, FK ClinicID, FK Specialty Email etc
tblClients fldPersID, Long, FK DOB, MaritalStatus, Occupation, HomeAddress, etc
tblContacts fldPersID, Long, FK BusinessAddress, Website, Description etc
tblMeetings fldMtgID, Autonumber, PK fldMtgTime, Date/Time fldMtgEnd, Date/Time fldMtgLoc, text etc.
tblAttendees fldMtgID, Long, FK fldPersID, Long, FK fldReason