Tables :: Party Data Model For All Contacts - Companies And People
Jan 9, 2013
I have researched the 'party' data model but it is a bit too complex for what I'm seeking. For those familiar with it, I don't really need the intermediary relationship from-to tables.
I'm interested in ideas about setting up a data structure that will allow users to search contacts or select contacts in dropdowns regardless if the contact type is a person or an organization.
Obviously the fields needed for both are different and the biggest issue is the name field because the person contacts are
The way I am accomplishing it now is writing the company name, or "first name " & "last name" for a person, to kind of a bridge table when a new record is inserted into the person table or the organization table...kind of inefficient.
Is this a relationship thing or should I just write a function to create a temporary recordset when needed?
I need setting up a history table for contacts and the companies that they are associated with. I am sure this will be obvious to some of you database veterans but I am fairly new to Access and I can't seem to figure out the best way to accomplish what I am trying to do.
Here is what I need to do:
When a contact's employment status changes, I need to change the contact's current company association but somehow maintain his or her association with the previous company so that s/he can still be associated with past projects.
So, in my contacts table (TBLContacts), I have a foreign key field "CompanyFK" that links to my companies table (TBLCompaniesPK). There is a one to many relationship between TBLCompanies and TBLContacts.
I want the CompanyFK field to be the current company but somehow link the person with past companies too so that the project directories and subforms will continue to show the contact's association with the parent company.
Maybe I don't need a history table but something else?
I have a similar problem with companies that change name, too. How to deal with takeovers, name changes, mergers, etc.
I manage a small non profit. We run NonprofitBooks on top of QuickBooks. NonprofitBooks uses an Access database. All has been fine for several years.
Recently, we upgraded from Access 2000 to Access 2003. When we used Access to open the file to edit some data, we received Security Warning & "Sandbox" errors. We did not make any changes to teh file.
Now, Nonprofit Books reports "No Data". I'm having difficulty contacting the vendor.
Any ideas? Thanks. George Martin Adminiatrative Manager Jaron Ministries International
Hi I have designed a database for a small organization. It is a ver small database. can any one verify and tell me the mistakes in my design. It hardly takes 20 min for the people like you. This is my first step in designing. I am attaching the zip file which contains dbm file and business requirements. Complete physical data model is there.
especially in "category_tests" table i feel that i have done some thing wrong.
What's up everyone, I'm new around here and to db design as well...
I'm posting a really rough data model for the first real database I've been putting together.
I'm still in the early stages, and the concepts behind db design are still pretty foreign to me, so there are bound to be many errors I hope to iron out ASAP.
One specific question:
On all of the data models I have referenced, the "OrderDetails" table has no primary key, can someone help me to understand this? Or explain how it is wrong... Thanks
I was hoping some of the experts and advanced users around here could take a look at this and help steer me in the right direction.
I have a fairly complete data model, my question is, how best to create tables for entry where I do not have subform after subform, and subforms in subforms. With subforms for the subforms and subforms on top of that.
I am about to start pulling out some teeth because at this point it sounds fun compared to this!
Do I need to use a query to base my table off of to build my Customer entry form? Or is my only option to use 15 frikin' Subforms? I I use a query, does that cause problems with data integrity?
I am having trouble finding useful reference to this, both online and in books I have purchased.
Normalization is fantastic, I understand.... But besides the crumby Northwind sample DB that everyone and their brother directs you to, is there an actual useful sample to look over that illustrates the use of a normalized data model?
I have grown more than a bit irritated with this, mainly because of my own inablilty to make progress in putting this project together.
I would like to create a simple to use, streamlined systems that promotes efficiency and speed, not a super convoluted system that has 85 subforms on every form in the DB.
I would REALLY appreciate some feedback/direction here, I am about to give up on normalized data and go with a simple flat table approach.
I would rather have redundant data than indecipherable forms that I have to answer incessant questions about.
Table 1: contains staff names and contact numbers Table 2: contains training above staff have been on or need to go on Table 3: contains pc and printer asset numbers of above staff
I used a form and entered some new members of staff in table 1. They got their auto numbers etc but when I open table 2 and table 3 those new members are not showing up in those tables. I have checked the relationship status between the 3 tables and the staffID from Table 1 is associated to table 2 and to table 3.
What's stopping the new entries from showing up in tables 2 and 3 ?
I am looking for a data model to define and track proficiency/currency.
Example:
You earn a licence to do X. You need to renew your licence every 2 years or so. But also, to maintain currency, you need to do what the licence gives you the right to do often enough, or else you need to do a test.
Specifically, you need to do X a specified number of times N within, say, last 3 months at any one time to maintain currency. If you have lost your currency, you need to do a test/check. So at all times, you need to have N times on record within last 3 months, or a test.
In addition, to do X legally, you also need to document that you have done X at least 10 hours within, say, last 6 months, or that you have another test within those last 6 months. This is independet of the previous requirement (concerning the number of times you did X).
Both requirements must be fulfilled at all times for you to do X legally.
So, any suitable model out there? Essentially, something capable of defining and tracking currency for various ratings and license privileges of pilots would do just fine.
Hi all I have made a quick db with one table and its needs to be used to enter records and updates to records from three people at the same time. These people are going to be sitting at three networked terminals and entering data to the same db at the same time. I know about splitting my db but will this allow for these people to add and change data at the same time? Should I save the backend to one computer and have copies of the data entry form on all the computers looking at the backend? Or should I have multiple forms in the same location and then each computer open the differnt forms located on one of the networked puters?
Ok, I have 3 tables. One lists a contact in conjunction with the branch of the company and the trips that contact takes. The second lists a contact in conjunction with the branch of the company and which team they work with (may work with many). The third should list their email address and their phone number. Is it possible to pull the contact name and branch of company from tables 1 and 2 into 3 automatically, such that all I have to input into table 3 is additional contact information? If that is possible, is it also possible to only pull each contact/branch of company pairing once (I don't want four entries for Joe Shmoe/Sales, even if he's taken 4 trips)?
Table 1 Branch of Company Trip Dates Trip Location Contact
Sales 4/1/14-4/12/14 Chicago Joe Shmoe
HR 6/2/13-6/4/13 New York Jane Doe
Table 2 Branch of Company Company Team Contact
Sales Blue Devils John Deere
Sales Jets John Deere
Sales Jets Joe Shmoe
HR Sharks Jane Doe
Table 3Contact Branch of Company Email Phone
Jane Doe HR jane.doe@company.com 800-555-1234
Joe Shmoe Sales joe.shmoe@company.com 800-555-1235
John Deere Sales john.deere@company.com 800-555-1236
I have a contacts database and I am trying to set the relationship between the contacts table and the locality table. The contacts table has a LocalityID field that is a long integer and the Locality table has an autonumber as the PK. When I drag the LocalityID on one table to the other LocalityID I get the Can't create this relationship. When I look at the Edit Relationship dialog box the primary table is the Locality table not the Contacts table. I want set up a lookup on the contacts form that relates to locality.
In a simple Access 2003 database that has two table. A contacts table and a Report table.
I would like to be able to prevent the deletion of any contact that is still being used in the Reports table. The problem is that they are in a backend of a linked database. So the enforce referential integrity doesn't work. Plus I don't think I would like it anyway as it seems kind of dangerous to the reports table.
Is this possible to do what I need through the use of form coding?
I'm creating an automated system on access, basically it uploads client's files and analyses their data. The files will always be different, with the amount of fields changing and with different field names each time
One part of it, is appending new contacts to their data. This means records which we can add new contacts to, needs to be duplicated with the new contact placed at the end. So it needs to be like
Company Name New Contact Name A B B Tom B Harry
Because it's automated with different field names each time, the duplicating part is an issue. I can use the * rule which appends all fields, however this will not work in this case, if we are adding more than 1 new contact, the new contact will be duplicated rather than having 2 new different contacts.
Ideally I want rule saying, append all fields EXCEPT the fields where the new contacts are placed, but I don't think this is possible
I'm using Access 07 for this. Using a mix of VBA and SQL in the modules
I would like to design and build a database that can match one to one meetings between companies with specific time slots.
For example, we have two sets of people: buyers and sellers. A buyer could specify which sellers they would be interested in meeting. The database would then work out which buyers could meet with which sellers, and when.
I have a table of companies, with fields that contain data for 2008, 2009, 2010, etc.
I'd like to design a query that allows the user to define on a form the field, or the year, they want to query. (by text string or some other way, I am good enough with the VBA that I can figure this part out once the beginning part is figured out)
I want 2009 data, I type in 2009 and get 2009 data from a table with many years' worth of data. But I only need one query for all the years.
I notice that this is easy with reports, just use SQL in the the wherecondition, argument, but I can't find the equivalent for queries. I tried putting the text field from the form in the SQL in the query, but could not get that to work.
can a 3rd party application be run within an access window? i am looking only for Acrobat reader butr dont want it to open outside of the database. i would like to try and have it open in a window on a form only keeping it within the database itself.
if it can be done, where can i look up the info needed to achieve it?
I have to create reports from an Access database used in a commercial application. The backend uses Access but the front end does not.
The vendor does not document the data or provide any support for that. The database has over one hundred tables and thousands of fields.
I'm thinking I'll create small transactions in the application and then study the database to see what has changed. But this seems overwhelming considering how many tables and fields there are. So I'm looking for advice on how to approach this.
I have a database that was built by some users, long before I came to my current job location (oh yes, one of those fun issues), and have run into an error that is involving a 3rd party tool, and is tough to duplicate.
There is an ocx control named "Kodak Image Thumbnail control" the path is C:winntsystem32ImgThumb32.ocx.
This is an active x control, that on the double click event, opens up the correct corresponding .pdf file. It works correct for me, on my machine. It works correctly for 3 other people on their own machines. When we had a user it worked correctly log into a user who it does not work correctly, it then worked correctly for them (appears to be user rights, and not machine specific). It does not work correctly for another 2-4 users (not sure the exact number).
But, the rights were gone over with a fine tooth comb, and nothing was found different from each user.
What is weird, is how the error occurs. There are 59 records in the database, with a linking .pdf file displayed in this .ocx control. For those users in which this does not work, the first two records open the .pdf correctly. After this (records 3 to 59) they receive the following error:
"Microsoft Access can't open the file containing the OLE object.
- You may have specified an invalid file name or an invalid unit of data (such as a range of cells from a worksheet) when the file for the OLE object. - The file you specified may not be available because it's locked by another user or you don't have permission to use it.
Try one of the following: - Make sure the file is available and that you used the correct file name. - Check the OLE server's documentation for information about the syntax to use when specifiying an OLE object's data."
[OK]
Since this is a third party tool, that I have never used, and do not even have on my machine (yet it works correctly for me) I am not sure what else I can do to track down the error. I just wanted to see if anyone else has run into this error, and if so how they had fixed it.
I purchased the Janus GridEx2000 component a couple of months ago and have used it extensively in an Access 2007 project. The component has an OCX for development and and OCX for distribution. I have come to the stage I wish to deploy the first version of the database and so have gone to the users machine and registered the distributable OCX control however when I run the database I get
"There is no object in this control".
I have searched google for numerous different attempts at solutions such as AutoCorrect being turned off, ensuring the ActiveXs weren't copied by deleting each control on each form and inserting a new one correctly, creating a new database and importing all the forms, tables etc into it. None of these solutions have solved the problem.
As a quick test I loaded Access 2003 and created a sample database. Put a form in it and on that form the ActiveX control. I then copied the mdb to the users machine and it worked. So I then went back to the development machine and opened the mdb in Access 2007 and created a new form and inserted the control. I then copied the mdb on to the user's machine again. The original form created using 2003 worked but the new form created in 2007 displayed the same error as above. I created a new blank 2007 accdb and again created a form and inserted the component, copied the file to the user's machine and again it didn't work displaying the above error.
When I open up the references on the users machine everything seems to be ok and it is linked to the correct ocx file which has been registered.
I am absolutely stumped and the thought of having to try and get the whole project re-written back into Access 2003 is just sickening.
I am trying to build a table that lists aircraft viewed by plane spotters.
In the “aircraft_spotted” table I have two look up wizards. The first lists the make of aircraft and the second lists the type.
What I am trying to do is filter the models down to the maker. If I select Boeing I will only get Boeing models and nothing else. The same would apply to Airbus and so on.
I would like to keep this information contained within the table without using a query but if I have to use the query for the model lookup then so be it.
It is now possible that some of the products can also be a product group, and a product group would then consist of multiple products. (Note: if a product is a product group as well, both of them have the same names. therefore for consistency, if in future someone alters the product name, that should be reflected for the product group if that product happens to be a product group as well)
So, I started of by thinking that the products table should contain a binary filed like "Is_this_a_ProductGroup", where for any product that is also a product group, while creating or editing the product the user would flag this field "Yes" and "No" otherwise.
S, my revised products table is like:
PRODUCT ======== Prod_id Prod_name Is_it_a_ProductGroup Dept Type :
Based on some earlier suggestions in this forum, I tried to create a junction table like
and joined the Prod_id above to the Prod_idin PRODUCT table and created a copy of the PRODUCT table and joined the Prod_Group_id to Prod_id in the PRODUCT_Copy table.
I would like some help now on:
1. whether this design is really correct?
2. If so, how does one go about the process of data entry through forms for these tables?
In my transaction table, I would like to find out the latest transaction dates of each family models. It sounds a simple Max function can get the desired result. However model number consists of the first 6 characters for the family model and the rest for the versions (variants). The Max function fails to work in this scenario. Is there any other way to group the model numbers once the 1st 6 characters are identical (the rest is ignored)?
Hi, I've been working hard at learning Access for past two months and spent a lot of time Googling and speeding through Alison Balter's books and at a slower pace the Paul Letwin’s Developers Handbook set (fantastic but I probably need a year to absorb the incredible detail).
I've built a prototype reconciliation tool using the recommended FE-BE model. I opted for a total ADO solution and have had great success in putting together a fast and useful tool for 10+ users.
I avoided using Workgroups in my design and developed my own basic sign-on authority model which allowed an Administrator (don't confuse with Admin user in Workgroups) to add new users who can use the Access app. The allowable users and which ones are signed on are stored in the BE. This all works reasonable well until network issues occur and the signed on user record on the BE is not reset as should be if the user signed-off genuinely.
This is where I realised I need to be able to monitor who is connected to the BE. There is a way of doing that using ADO which I can get to work. I then noticed because all users are signed on with Workgroup Admin as default I could not differentiate between users. I then decided to implement Workgroup authority retrospectively.
I decided to place the .mdw on the LAN with the BE (this seems to go against conventional wisdom but could not workout how else I could achieve what I wanted to). This enables the two Administrators in different places to maintain users via the FE. I use the /wrkgrp command line flag to point to the correct .mdw.
I then started getting all sort of problems . . .I'm still in testing . . . not so bad but deadlines are looming and I'm worried.
Sorry, I digress. . .the problem I seem to be getting is when I open the FE :
Run-time error -2147217843 (80040e4d) Cannot start your application. The workgroup information file is missing or opened exclusively by another user
I also have problems developing the FE with the workgroup file in place. It seems to complain about another user is locking the FE.
The problem is a little verbose but just trying to paint a picture . . .now, this is what I'm after. . .I need the following ability:
1. Two Administrators who can maintain users. When a new user is added the Administrator chooses a password. 2. When the new user signs on the user is prompted to enter new password. 3. The administrators can view who is genuinely signed on and reset accounts appropriately.
I am currently studying the Access Security sections in the Paul Letwin book to better understand what is going on. It does seem retro-fitting an app to a workgroup model is not straightforward. Admittedly, I should have considered Workgroups in my design before starting (I will know).
Thanks for staying with me if you're still reading . . .any suggestion/pointers would be great.
I currently have a query of between dates which the user enters, but when I try to get a total count of model numbers it gives totals for each date. I am trying to get a count of model numbers between these dates with the dates excluded in the grouping.