Best Practice To Handle Poor Data Quality In Relationships?
Jul 21, 2007
I'm attempting to normalize an enormous table with order data, but I'm running into some problems. The table currently contains many duplicates, of which also included the actual order information (yikes!), but I managed to normalize it almost all the way down. It appears that different accounts can be used on orders, and these order numbers are being recycled for some reason months down the line (don't ask my why they're reusing them for future orders because I have no idea either, they should be creating new order numbers). Of course, the Order number is the primary key in my table as it should be. I guess the same thing can occur with the sales rep. Anyway, I'm struggling to find the "best practice way" to deal with this situation. I'm almost tempted to create an intermediary "transaction table" or something like that between the main general order information (which at this point will basically be the Order Number and Customer ID only), then include a table with the account information and sales rep info, then have that link to the Order Detail with the products, quantity, order number and various dates for those order numbers. Order maybe it should be a separate, related table, but not between the general order information and the order details? Can anyone tell me if I'm on the right track for this situation? It was a total curveball that the rep and account information could be different on these orders.
Option 1:
Order (Order #, Customer) -> Transaction Information (Order #, Account Type, Sales Person) -> Order Details (dates, products, quantities, etc)
Option 2:
Order (Order #, Customer)---> Transaction Information (Order #, Account
| Type, Sales Person)
|
|-> Order Details (dates, products, quantities, etc)
I am designing queries to return averages for quality test data.
I have this query that functions as I want it too [URL] .....
It returns the averages of all the values received for different tests for a lot number (the lot number criteria should be filled out as well)
When I want the query to be more specific and average only certain box numbers in the lot (that start with the prefix PB") the query does not return an average for box numbers starting with PB but splits them up, showing an average for PB1, PB2 instead of combining the data for those boxes into a single unified average ...
I need to create a program that will regularly import a text file of over one million records into an Access table. I've been give a list of about fifty different updates to perform on the data to clean it.
I can't imagine performing all these updates in one query. However, creating fifty individual queries seems horribly inefficient from a processing perspective.
I'm accustomed to stepping sequentially through a table in FoxPro, which seems ideal to me for this type of situation. What is the best way to handle this in Access?
........... Hi, I've just come across this forum and was hoping that you can lend a hand.
I teach in a special school - our pupils are slow learners and find reading and writing rather challenging. They are slow learners. Here, we say that they have moderate learning difficulties. In most other ways, they are like any other kids - and if you met them out and about on the streets, they would not seem any different to their mainstream peers.
I teach Computer skills throughout the school, and this year, I have to teach databases to our older pupils. In the past, I confess, I have used excel to demonstrate some database capabilities, but I would like to use the proper program this time.
I purchased Access for the school - only to discover that it is Access 2007. So not only do I have to learn an unfamilar program [for me] but also it looks very different too.
Not to be outdone, I have bought one of those 'teach yourself access 2007' CDs and all is going well with that. [Though it is still early days].
What I need are some sample databases for the kids to practice sorting, filtering etc on. I have downloaded some sample databases, but they all seem very complicated to me. Simple is the key, here. Something like someone's database of cds [I did start to make one of these myself but it was very time consuming]
Or maybe some ideas of simple databases that the kids could have a go at making. That could be good. My mind is such a jumble that I can't think straight right now.
I have split my database application that was approaching the 20MB size. This I have split into a front end (approx. 8 Mb) with linked tables to a back end database (approx. 12MB).
Network is 100Mb Ethernet.
However, since doing this, end users have noticed that scrolling through records and especially running reports takes significantly longer sometimes 3x/ 4x longer. I understood that splitting the DB would have a beneficial effect from a development / application 'release' point of view and maybe if I were to create an MDE file of the front end, I could also benefit from reduced network traffic given that end users are using a compiled executable etc.
With the speed issues I have been experiencing I have had no choice but to roll back to the original application format with everything in the the one MDB file.
Has anyone else had to do the same - given similar speed degradation issues?
Last week, my access97 db, with back end and front end, both residing on a network as they have been for the last 2 years, decided to start running at 1/4 of the speed that they usually have. The db is used by 16 users, and roughly 5 are on at any given time (Operating system - XP). Both front end and backend were compressed without any change in performance. No changes in programming or number of records was introduced as of late. Checking with our IT department indicated that the performance of the network and drive have not changed and are up to snuff. I moved a copy of the FE and BE to my hard drive and found performance to return to normal speed, although I am not sure if it always ran faster on a PC. Any experience with this irregularity and options to check would be greatly appreciated?
I would appreciate any tips as to how I can archive records where the yes no field named "Resolved" is ticked. These records may need to be retrieved (as opposed to deleted). Any deletion would be made at some time later as part of a manual database maintenance process. Unfortuantely the database is 200 Kb larger than permitted to upload however, I can forward a zipped copy if required. Kind regards. Bernard
So, I split up my database and housed the tables database part of the split on a shared network drive and am experimenting with the front end of the database which i've housed on my local computer. I've tried most of the recommendations: shortened the name of the db, changed fe to mde file, changed link tables to subdatasheet (none), but still my forms (only 2) are taking a while to load up. The forms are pretty substantial, and have a form and a subform on each. Can anyone offer up any recommendations to improve the speed?
I am creating a database for call quality monitoring. Just when I thought everything was working perfectly, I get an error saying the record set can't be updated. I can't find anything useful about it online either.
Here is my database:
I have a table which is essentially an template for call quality. each record has a primary key ID number. I also have a table for staff and their teams which is linked to the other table.
I have a form where you can select the staff member, and there is a tab control where the second tab has their quality results via a sub form. I have made the primary key a hyperlink so when clicked it brings up the quality form of the original record. however it can't be updated and gives me the message saying record set can't be updated.
I want the user to be able to click the hyperlink, bring up the record and edit where required.
I'm a relative newbie to Access - I am wondering the best way to solve a problem. I am the admin for a database used to track projects and the quality control process. With this process we must keep up with the review of another database, the pieces of information entered which are erroneous and when the individual responsible corrects the data. To date, the errors have been manually typed into a memo field which is then pushed out to the end user in a report. The errors are very consistent and I want to create functionality that will allow me to select the errors (there are approximately 50 standard errors) from a list or using a button or whatever is wisest. Basically, I would love some best practice opinion here as I am totally stymied at this point.
I'm creating a simple relational database of all the attorneys our company work with. I'd like to have three tables: "Law Firms" (firm name & other info), "Attorneys" (what firm, personal info, and what practice groups s/he is involved in), and lastly "Practice Areas" (all different practice areas with codes).
Now, my issue is that people are usually involved in multiple practice areas. Thus, I can't just put a code for one practice area in "Attorneys" table, but I can't put multiple codes in either in one field (right?) because it'd mess up the relations.
What I'd like to accomplish is for people to be able to go to our intranet and, using a form (?), select a law firm and a practice group and get a list of attorneys.
Does anyone know of a good way to solve this? It doesn't have to be pretty, since the DB isn't going to be huge (2000-2500 records).
I am just wondering if theres a way I can create a customise database for my workplace. We are looking at replacing the old record cards that sit on the desk that records each clients visit and the price they paid. We do use MYOB for all our accounting etc but we are wondering if there is a way that we can create a database that enables us to record the date and price paid for each visit for every individual client?
I'm sick of the lame excuse for error messages that Access gives out.. I'm talking about 'Overflow', 'invalid use of Null' and such like.
What about telling you what field/expression caused the error and on what record if applicable.
It's so frustrating - Access obviously knows what caused the error but refuses to tell you so you have to go through the annoying process of taking out fields one by one (when in query view).
Does anyone agree that they need to make the error handling in Access much better?
If I have a DB with several tables containing thousands of records, and most of those records only ever need say 8 characters, does anyone know if changing the field size from default 255 chars to 8 chars will actually benefits the the DB?
Potential benefits I'm thinking may occur are reduced filesize and maybe some speed?
Hi guys. I have been working on a database to store network information, computers, software etc......
I have a table (tblComputers). I allocate computers to users on the network.
My question. When they come to the end of their shelf life I have the option to delete them from the database. However once deleted I will have no record of them. So I thought......would it be better to create a seperate table and move them there, or add an additional check box within tblComputers 'Retired' then add some code to prevent allocation?
You know the scenario where people keep working in an old version of a database, while you work on an update... leaving you with a new database, but old data?
This concerns a database, containing about 20-25 tables all linked together. I was asked to make an update. In this update 3 new tables were included and here and there a few of the old tables got news fields, nothing crucial and a lot of forms were changed.
The current situation: Database 1: contains new data, misses a few tables, is missing some fields, forms and queries Database 1.1: contains old data, but some new extra tables, added fields, forms and queries
I would like to know if it is possible to import all data from 'database 1' into 'database 1.1', so that all linked information between the data is preserved, all database relations are maintained.
If I import tables from Database 1 into database 1.1, tables just get added, not replaced. If I delete or rename tables, I loose my relationships.
I would like to know what is a common and effective way to get all the new data of an old version of a database (where people keep working in while you work on an update), into the new version of the database, that currently contains old data.
I have a relationship between Market data table and Trade table which is One to Many. Market on the One and Trade on the Many. However I just found out that I am unable to enter information into the Trade Form without entering information into the Market Form first. I would like to enter info. into Trade Form/tables independent of whether I enter info. into the Market Form/table, but I still need to have the relationship of One Market data to Many Trade date.
I have 2 excel sheets that I have imported as external data. I created a relationship between the 2 tables on part# field that is common to both. The relationship is to take all info from A table and only those from B table that match. The part# field is set to text in both tables. When I run a report that merges the 2 together a significant # of parts in my field change to a negative number. For instance the part# in both tables are 12345678 it is changed to a random -3452345 number..
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?
I've worked with Access in the past but haven't touched it for 6 years now so I've forgot a lot of the things i've learnt. Bare with me while I try and explain it as clearly as possible
I'm creating a Database for work which will register all our Commerical Clients, which projects the clients are related to and which students worked on them projects. So I have 3 main Tables:
1.Commercial Clients Client ID Company Name Contact Title
2. Commercial Projects Project ID Nature of Project (Graphic Design, Multimedia, Media) Project Name Project Information Staff Member Responsible Start Date End Date
3. Students/Graduates Student ID Student Name Area of Expertise Contact Details Last Project worked on
Right here we go.....
Each commercial Client can have more then one project to their name. Each Project can have more than one student working on it and each student can be working on more then one project.
My relationships are set up like this:
Commercial Clients <One to Many> Projects Projects <Many to Many>Students
What I have done is create forms with sub forms in to enter to extra data. I dont know if this is the right way to do it but it seems to easiest way. Please show me a way that will work better if you know it.
Anyway... the way the tables are now I can on cascade the information down through the tables.... it will not cascade upwards. I have ticked everything you can possibly tick for all relationships. So when I can enter projects in the Subform on the Commerical Clients Form and I can enter students on the subform in the Projects form. But on the Student form the projects the students at on does not show up in that subform and entering the day only tries duplicating it (which i dont want to do). If I had a form that showed the projects and the related commercial clients in the subform it wont find the commerical clients. So i.e.
It shows fields when the cascaded down like:
Commercial Clients V V Projects V V Students/Graduates
Maybe a noob question, but I'm still learning access (I know a little late at the age of 37, but better late then never). I have a form with several tabs, linked to a table with employee information, works like a charm. Now, my last tab is called settings, maybe no need to say that the information from this tab needs to be called from a different table called settings. Certain information, like version number, department, etc I want to display all the time in the header and I want to be able to manipulate that information through the settings tab. I definately don't want any relationships with the employee table. Is there a simple way to achieve this, I tried drag and drop but this leads to errors, so definately I do something wrong here. Much appreciated,
My problem is displaying data in many-to-many relationships.
There are three main tables: tblShops, tblOwners and tblMarketingEvents.
These are linked through two junction tables creating two many-to-many relationships:
1) Each Shop may have more than one Owner and each Owner may have more than one Shop. 2) Each Marketing Event may reach more than one Owner and each Owner may be reached by more than one Event.
Now I want to display for each Marketing Event:
1) the data of that event, (tblMarketingEvents) 2) plus the owners reached in that event, (tblOwners) 3) plus all the shops owned by the owners reached in that event. (tblShops)
Preferably, I want to display more than one record at a time without repeating any information.
Is there a way to display the data like this?
I tried a query: it gives the right data but does not display it as I need. It repeats the data from tblMarketingEvents and tblOwners for each shop.
I tried a form with subform: it can only display one record at a time and is hard to work with (printing etc)
I tried a report with grouping levels based on the query: Again, right information, wrong display. I need to group according to the records of the MarketingEvents table and not just according to a single field.
I have created a form with two subforms. The context of this is a litigation database. The main form is for testimony. Among other things, it includes a field for a question and an answer. Any given piece of testimony may relate to one or more documents, and any document may be referenced in one or more pieces of testimony. So have two subforms, one for documents produced by the Plaintiff, and one for documents produced by the Defendant. It worked out easier that way because I originally created indices of those documents in separate Excel tables which I then imported to Access.
So the relationship for both document tables relative to the testimony table is many to many, which is established using two junction tables.
I also have a combo box in each subform where I can autofill fields based on selection of the document number.
My problem is that while the combo-box works great, once I select a document in the subform, that selection is carried over into the next entry of the master form, but also the selection is not retained in any of the master forms. So I can browse the document listing from any entry in the master form, but I can't get the document selection in the subform to stick and create a lasting relationship to a given record in the master form.
Is my problem that it is just impossible to have a subform based on a many to many relationship, or is it in the parent child relationship of the form and subform, or is it in the properties of the subform?