Moving and updating data with command button

Sara,
<<
I really thought I was doing this right, based on all the stuff I read on normalization in the forum and through web searches and stuff...
>>

I don't see any normalization problems with the 2 tables. I just don't see any reason WHY you need 2 tables.

I don't see any problems if you combine tblApplication and tblApplicants into one table.

So look at it that way. Can you see any problem if the 2 tables are combined into 1 ?

RichM
 
I would have to re-enter the applicant's information every time they applied for another position. (name, ssn, address)

I would not want to edit the application tracking info every time someone applied for a job, so that I could have a history of their applications.
 
Sara,
<<
I would have to re-enter the applicant's information every time they applied for another position. (name, ssn, address)
>>

Sorry, don't get that one. I don't see why merging tblApplicants and tblApplication would require any re-entry.

I would assume that a row in tblApplicants remains until someone explicitly deletes it. Just like sending an application by snail mail and getting a response that says "we will keep your application on file for ........".

A row from tblApplicants could also be delted when a person is hired for a posting and therefore becomes an employee. Right ?

Is there some field in tblApplication whose value, for a specific SSN, would change ? Maybe that's what I am missing. If there are fields with different values, what would be the problem with moving said fields to tblJunction ?

gotta go (gee I miss Ian Sholes),
RichM
 
ooohh! you want to move those fields to tblJunction! I thought you wanted to just put them all in one table. Yeah, I may be able to do that... I'll look at it. Thanks for your help there.

But I'm still not sure how to go about what I wanted to do originally...

I don't know who Ian Sholes is... Sorry...
Have fun in CT!

--Sara
 
Sara,
<<
ooohh! you want to move those fields to tblJunction! I thought you wanted to just put them all in one table. Yeah, I may be able to do that
>>
Right. When I look at a data model the first question is: "are all these tables really necessary". I think that the 3 tables - junction, application, and applicant - could be combined in some ways without messing things up.

<<
But I'm still not sure how to go about what I wanted to do originally
>>
Yeah, sort of forgot the original question :)
You wanted a one-click process to perform a "hire".
That seems like a good idea and not too complicated.

<<
I don't know who Ian Sholes is
>>
Is/was a character of a radio theater group called "Duck's Breath Mystery Theater". They used to be on public radio from time to time and they also toured and recorded. Ian Sholes was an acerbic comentator sort of like And Rooney on speed or like Dennis Miller. His sign off phrase was "I gotta go".

<<
Have fun in CT!
>>
Yes, the weather and the leaves were great. It's SNOWING in Minnesota today :(

RichM
 
Hi, RichM!

I'm glad you had a nice time in CT... I can't believe it's snowing out there. We're supposed to get flurries this week sometime, but nothing we can really call "snow."

I love New England in the Autumn. Crisp air, and beautiful colors. Tea and sweaters. Cozy. (Have to admit, though, I wasn't a huge fan of Hartford when I was there... but the areas surrounding the city itself were pretty nice.)

Anyway, back to business... I've combined the three tables (in another copy of the db... just in case :) ) and am working on re-creating the forms I need. Almost done there, I think.

Glad to know that it's possible to do the hire procedure. That would make things so much easier, I think.

Rich - I don't know about Minnesota, but we've got some mountains in NH... even a couple tall ones... not too near me, but they've already gotten some snow. Yuck!

--Sara
 
tblJunction

All right, so I'm re-working all this stuff and I've hit a snag...

I've changed all my stuff around and here's what I'm thinking: I need to put tblJunction back because one application can apply to multiple postings (provided it meets certain criteria...)

There's currently a way for an applicant to apply to several postings, but not for an application to.

So now I'm thinking I should go back to my old setup?

--Sara
 

Attachments

  • relationships.jpg
    relationships.jpg
    70.1 KB · Views: 127
Sara,

Yes I think you need the "junction" table. If Applicant "A" wants to apply for postings 1, 2, and 3 then you would have three rows in tblJunction with something like:
A, 1
A, 2
A, 3
right ?

So the junction table will handle a one to many relationship of one person to many postings.

RichM
 
Wouldn't it handle a many to many? One posting to many applications, one application to many postings... Is this what I had before I changed it all up?

Ah, me...
 
Sara,
<<
Wouldn't it handle a many to many? One posting to many applications, one application to many postings... Is this what I had before I changed it all up?
>>

Yes, tblJunction would handle many to many also. If persons "A", "B", and "C" applied for posting 1 then
A, 1
B, 1
C, 1

If person "A" also applied for posting 2 then add
A, 2

So I guess that is what you had :)

RichM
 
All right, well that's okay... I've learned something.

I'd also like to learn how to create a command button to hire a person... Any thoughts there? ;)
 
Hi again, Sara - I've been up to my a** in alligators, which is about par for the course in south Louisiana. (Actually, just another job crisis - which is par for the course with U.S. Dept. of Defense jobs.)

My original post was based on the idea that you are having trouble keeping track of your data sources. On reading the exchanges among yourself and other contributors, I retreat to my original question:

Does your database activity represent an accurate model of every step you would have performed if this were being done entirely using paper forms and records?

My thought is that when you try to do something and it confuses you, there are two possible reasons for that confusion:

1. The process you implemented does not match the data flow of reality (in this case, of your business)

2. A variant of 1, really: You didn't originally understand the data flow of your business so COULDN'T design the Access transactions to match it.

For instance, you have been agonizing over whether there is any significant difference between a person from outside your company applying for a position and one from inside your company applying for a position different from the one they currently hold. My answer is, it depends on whether that difference would have existed in the days of paper record keeping.

My comments about "unposting" relate to a situation we have in one of our personnel databases here. It is a military database, so has some standards that might differ from the ones you are applying. Here, we talk about persons and positions being cross-linked using a "sparse" one-to-one relationship. In practise, this means a "one-to-{sometimes zero, sometimes one}" relationship. I.e., the "all records from X and matching records from Y" are defined BOTH ways. This is ORACLE for us, so the relationship is always expressed in SQL with explicit OUTER JOIN cases in the required direction.

In our case, if we list persons by SSN or alphabetically, we can join to the table that shows details about their current assignment, if they have one. But if we list jobs by military job code, we can show every person who has such jobs, if the job slot is filled. The connection between the two is symmetrical. So when we put someone into a new job, we first have to take that person OUT of the old job if they had one.

I cannot tell which one you are struggling with from long distance but I still see some confusion. Since I cannot see the specific problem, there is no way I can give specific advice. However, I stand by the idea that you should be able to exactly model a business data flow using Access, at worst with a few MINOR workarounds.

For instance, the recent posts on the need for and uses of a junction table. You are right that a junction table is how you implement a many-to-many relationship. If you allow a person to post for many positions, and if each position has many persons posting for it, then you will definitely need a junction table to track the postings.
 
Doc,

Thanks for your response.

I am not having trouble keeping track of my data sources, and was not confused until I was asked questions that made me doubt what I had done.

The database I have created matches the flow of paper that runs through the Human resources office I am designing it for. I have been careful from the beginning to make sure it worked in the most fluid and efficient way.

What I wanted to accomplish when I posted this thread was to allow the user to go through the final stage of the application process (hiring) as easily and error-free as possible by adding or changing the appropriate data in tblEmployees. I'd still really like help with that.

Thanks again. Hope the alligators calm down. ;)

--Sara
 
Sara,
<<
What I wanted to accomplish when I posted this thread was to allow the user to go through the final stage of the application process (hiring) as easily and error-free as possible by adding or changing the appropriate data in tblEmployees.
>>

Before you start building forms, queries, modules, etc, some basic questions need explicit and complete answers:
what needs to be done to the database before the user clicks the "hire" button ?
what should happen to the database after the user clicks the "hire" button ?

I think you need a reasonably complete script of business actions that comprise the business process of "hiring a person for a position". I belive Doc Man said something similar in an earlier reply.

Based on the discussion so far, it sounds like a rough script would contain:
1) Make a Position (if not already existing)
2) Make a Posting and connect to an existing Position
3) Make Applicants
4) Connect Applicants to existing Postings, repeat as needed.
5) Select one or more "winning" Applicants for a Posting
6) Disconnect "losing" Applicants from Posting.
7) Possibly delete "losing" Applicants. Or maybe retain for later Postings.
8) Close Posting
9) If Applicant is not and Employee, add to tblEmployee.

The numbering is sort of relative, you could perform step 3 before step 1 in some cases but both steps 1 and 3 must be completed before step 4.

does that help ?
RichM
 
RichM,

Thanks for the thoughts. Your "script" is pretty accurate. Let me elaborate:

1) Make a Position (if not already existing)
2) Make a Posting and connect to an existing Position
3) Make Applicants (if not already existing)
4) Connect Applicants to existing Postings, repeat as needed.
5) Select one "winning" Applicants for a Posting.
6) "Losing" applications get filled in a "reject" folder. These get discarded after one year.
7) Retain applicants for later Postings.

8) Close Posting
9) Update/create file for hired employee. (If employee is new, create a file, if they are already an employee, their file is updated to hold the new position information.)

So far, in my database, the user is able to complete steps 1-4 in an easy, efficient manner. It's the rest I have no idea about...

Thanks again.

--Sara
 
Sara,

Let's start with step 5, select a "winner".

Visualize a form with:
1) a list of open Postings. (we'll figure our the meaning of open later)
2) a list of Applicants

From the open Posting lists, you click on one. The list of Applicants for the selected Position is refreshed. This is the old "cascading" list/combo box thing.

Click on an Applicant for the Position and you have picked the winner. Make an OnClick event sub and put in the code to process the winner.

Sound like a start ?

RichM
 
Hi, RichM,

I'm working on the form I now have well visualized, but I'm also wondering if I can start the process from a form I've already got by putting in a command button called "hire"

The form I have is for tracking the application. On the top of the form there's the posting information and the basic applicant info, and on the bottom there's the stages the application goes through. First, there's certification: is the applicant qualified to go any further in the application process? These are option buttons labelled yes, no, and not yet determined. (default is not yet determined.) depending on which is selected, there are options below. if the answer is not yet determined, there is nothing yet to fill in except comments. If it's "no," there's a text box which asks for the date the rejection letter was sent. if it's "yes," there are text boxes for dates of testing, test score, and all that. That is where I was thinking the command button would pop up.

Do you think this form could work? I'm still creating the form you suggested...

In case you need to know this, I also have 2 other forms that have subforms already created as well... one has in the main form the information on posting, with a place to add the applicant in the subform (which populates tblJunction). the other displays an applicant in the main form with the positions he/she has applied for (the data in this form can not be edited). Both subforms provide a command button link to open the application tracking form, which opens up on the correct application.

--Sara
 
Sara,
<<
The form I have is for tracking the application. On the top of the form there's the posting information and the basic applicant info, and on the bottom there's the stages the application goes through.
>>

As I see the "hire" form, it presents a list box of all applicants for a position. The form you describe above sounds like it presents info for one applicant at a time. The hire form is not really connected to one position or one applicant. That makes me think the hire form is best opened from a main switchboard form.

=======================
Visualize a main switchboard. It could contain command buttons for some of the major tasks like:
1) Make a Position (if not already existing)
2) Make a Posting and connect to an existing Position
3) Make Applicants (if not already existing)
4) Connect Applicants to existing Postings, repeat as needed.
5) Select one "winning" Applicants for a Posting.
........
8) Close Posting

Make sense ?

RichM
 
Last edited:
RichM,

All right, I can see that.

Still working on creating the form, though. (Haven't done too much, been busy with another issue most of the day...)

Anyway, I don't know much about VBA (though I'm learning... currently fighting with a message box, but I will conquer!) So I think I'm going to need some help putting the event sub together.

Thanks again for all your patience. You're a great help.

--Sara
 

Users who are viewing this thread

Back
Top Bottom