473,569 Members | 2,688 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

design problem re linking communications to later orders

This is for a recreational tree climbing database. When a climb is arranged,
it often begins with one or more inquiries by phone or email. Sometimes it
takes several communications to answer questions, set dates, etc.

At some point an inquiry gets definite enough to become a JobProposal, with
a specific type of climb, dates and fee set, etc. Usually JobProposals
become Climbs when the inquirer signs a contract, pays the deposit or fee,
shows up and participates in the climb. So JobProposal can be a FK in the
Climbs table.

It's actually more complicated because sometimes the tree climbing
organization initiates a climb or course, and often groups and organizations
and families are involved. But my primary problem right now is the
relationship between a JobProposal and all those earlier communications.

Tracking the communications is doable. But by the time it's clear that an
inquirer is serious about a JobProposal, several earlier communications have
often gone back and forth. How to link those after the fact, to the
JobProposal? I guess the only real link is the name of the inquirer. Earlier
I thought the specific service(s) mentioned in the earlier inquiries could
be a link, but often the first inquiries are quite vague. "Could our family
come next month to do a climb?" No climb type mentioned.

Maybe these early, vague communications (and their answers) should be
ignored? Or for any JobProposal, be able to call up a list of all the
communications back and forth (with dates and subjects and notes) linked to
the person or persons involved? (Usually there's one main contact person,
but sometimes two people communicate independently about the same job.)

Sorry if my problem seems unclear. Maybe your questions will help me clarify
the problem and get unstuck. TIA
Nov 12 '05 #1
1 1489
Your Communcations table will have fields:
PersonID foreign key to the person table;
ProposalID foreign key to the proposal.

When a person contacts you, you will enter them into the Person table, and
then use their PersonID in the Communcations table. If the communication is
not yet part of a proposal, you will leave the ProposalID foreign key blank.
Later, when you do create a proposal, you want to go back and manually
modify the earlier communications by including the ProposalID.

If that's the idea, the important bit is providing an interface where the
user can easily find the communications from this person that are not tied
to any proposal. That means providing some kind of filter on the
communications form.

Perhaps you could include an unbound combo box named cboFindPerson at the
top of the form.
Set its After Update property to
[Event Procedure]
Click the Build button (...) beside this.
Access opens the code window.
Between the "Private Sub..." and "End Sub lines enter:

Dim strWhere As String
If Me.Dirty Then 'Save before filter
Me.Dirty = False
End If
If IsNull(Me.cboFi ndPerson) Then
Me.FilterOn = False 'Noone chosen: show all.
Else
strWhere = "([PersonID] = " & Me.cboFindPerso n & _
") AND ([ProposalID] Is Null)"
Me.Filter = strWhere
Me.FilterOn = True
End If
Note: If PersonID is a Text type field, you need extra quotes:
strWhere = "([PersonID] = """ & Me.cboFindPerso n & _
""") AND ([ProposalID] Is Null)"

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"Catherine Jo Morgan" <cj******@hemc. net> wrote in message
news:W_******** ************@he mc.net...
This is for a recreational tree climbing database. When a climb is arranged, it often begins with one or more inquiries by phone or email. Sometimes it
takes several communications to answer questions, set dates, etc.

At some point an inquiry gets definite enough to become a JobProposal, with a specific type of climb, dates and fee set, etc. Usually JobProposals
become Climbs when the inquirer signs a contract, pays the deposit or fee,
shows up and participates in the climb. So JobProposal can be a FK in the
Climbs table.

It's actually more complicated because sometimes the tree climbing
organization initiates a climb or course, and often groups and organizations and families are involved. But my primary problem right now is the
relationship between a JobProposal and all those earlier communications.

Tracking the communications is doable. But by the time it's clear that an
inquirer is serious about a JobProposal, several earlier communications have often gone back and forth. How to link those after the fact, to the
JobProposal? I guess the only real link is the name of the inquirer. Earlier I thought the specific service(s) mentioned in the earlier inquiries could
be a link, but often the first inquiries are quite vague. "Could our family come next month to do a climb?" No climb type mentioned.

Maybe these early, vague communications (and their answers) should be
ignored? Or for any JobProposal, be able to call up a list of all the
communications back and forth (with dates and subjects and notes) linked to the person or persons involved? (Usually there's one main contact person,
but sometimes two people communicate independently about the same job.)

Sorry if my problem seems unclear. Maybe your questions will help me clarify the problem and get unstuck. TIA

Nov 12 '05 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
1467
by: Chris | last post by:
Hi, I am currently designing a simple service orders database. I have played around with MySQL a bit but this is the first time I'm using it in anger, I have a few design queries to make sure I am implementing the database correctly. Currently I have a number of tables, the first being the package table (lists the different service names -...
36
4623
by: toedipper | last post by:
Hello, I am designing a table of vehicle types, nothing special, just a list of unique vehicle types such as truck, lorry, bike, motor bike, plane, tractor etc etc For the table design I am proposing a single column table with a field name called vehicle_type and this will contain the vehicle type. Sot it will be
6
1304
by: Kay | last post by:
Hello, My question isn't specific to .Net but as .Net is object oriented, I would be interested if someone could let me know if there is a standard way of implementing what I describe below in OO or if it is covered by a design pattern. I hope someone can help me as I have been looking for a solution to this question for a while. For...
5
2459
by: David Deacon | last post by:
Hi i was given the following advise,below my OriginalQuestion I am a little new to ADOX can you direct me to the following Do i place the code behind a button on a form? Or do i place it in the On Open event and have a the default 10% and give the user the option to change it to 0% I have referenced th appropriate library and the default...
3
1658
by: James Armstrong | last post by:
Hi all, (warning - long post ahead) I have been tasked with designing a database for my company which will store trade information (it is a financial firm). It will need to export this info into an excel file while converting some of the data into an export format (example - we use B for buy, the firm we export to uses BY). Eventually,...
6
2109
by: rodchar | last post by:
Hey all, I'm trying to understand Master/Detail concepts in VB.NET. If I do a data adapter fill for both customer and orders from Northwind where should that dataset live? What client is responsible for instantiating the orders class? Would it be the ui layer or the master class in the business layer? thanks,
16
1067
by: rodchar | last post by:
Hello all, Please allow me to revisit this topic once more it has hindered me for the longest. Even after the great replies I got in the past. I guess they might have been a bit over my head or my requirements weren't very clear. I’m betting on the latter (not asking clear) so after several months of pondering please allow me to rephrase...
3
1902
by: olduncleamos | last post by:
Hi all, What is, in general, the preferred practice to transfer data between business objects and the data layer? To be more specific, I have a couple of business objects with state data that are stored in external storage. The data layer take care of communicating with the storage and return data in dataset or file stream or simple arrays....
4
1867
by: KR | last post by:
Hi All, I wanted the expert opinion out there in the use of foreign keys as primary keys in a table. I am not very good at explaining this concept, but I am going to try - Let us say you have a parent/master table( Ex: purchase order) that is generating number (primary key for the main table)using the seed and increment specified. We...
0
7703
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main...
0
7618
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language...
0
7926
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. ...
1
7679
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For...
0
7983
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the...
0
6287
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then...
1
5514
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes...
0
5223
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert...
1
1228
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.