Solved

Access Formula or Module to Count Change in SSN Number

Posted on 2016-11-09
14
46 Views
Last Modified: 2016-11-09
Hi All,

I need to create a query that will count the number of dependents that are listed under an employee.  Currently, the table will list the employee's SSN in one column and either their own SSN in the second column (if they have no dependents) or their dependent's SSN.  I'm looking for a way that, in a subsequent column of the table, I can calculate how many dependent's the employee has.  Any ideas on this?  

Below is a table example and where I'd want the count to be.  

Member SSN     Dep SSN     Count
123456789        123456789    3
123456789         987654321
123456789         00000001


-Anthony
0
Comment
Question by:Anthony6890
  • 6
  • 3
  • 2
  • +2
14 Comments
 
LVL 35

Expert Comment

by:[ fanpages ]
ID: 41880986
...Currently, the table will list the employee's SSN in one column and either their own SSN in the second column (if they have no dependents) or their dependent's SSN...


Member SSN     Dep SSN     Count
123456789        123456789    3
123456789         987654321
123456789         00000001

Your sample data above does not follow this rule.

Does Member #123456789 have two dependents (#987654321 & #00000001), or three (#123456789, #987654321, & #00000001)?
0
 
LVL 2

Expert Comment

by:Mark Wood
ID: 41881020
=COUNTIF($A1:$A20,SSN#)
0
 
LVL 35

Expert Comment

by:[ fanpages ]
ID: 41881028
Mark:
=COUNTIF($A1:$A20,SSN#)

You have specified an MS-Excel in-cell formulae.  This is an MS-Access question.
0
Ransomware: The New Cyber Threat & How to Stop It

This infographic explains ransomware, type of malware that blocks access to your files or your systems and holds them hostage until a ransom is paid. It also examines the different types of ransomware and explains what you can do to thwart this sinister online threat.  

 
LVL 47

Accepted Solution

by:
Dale Fye (Access MVP) earned 500 total points
ID: 41881030
Are these the only two columns in this table?

Try :

SELECT [Member SSN], SUM(iif([Member SSN] = [Dep SSN], 0, 1))
FROM yourTable
GROUP BY [Member SSN]
0
 
LVL 1

Author Comment

by:Anthony6890
ID: 41881037
Fanpages, good catch.  Employee 123456789 has only two dependents, should there should be a 2 listed and not a 3.

Dale, there are about 20 columns in the table and not just those two I indicated.
0
 
LVL 47

Expert Comment

by:Dale Fye (Access MVP)
ID: 41881049
Anthony, should still be able to create that query.

I'm just wondering whether all of the other info in those 20 records relates to the dependent, if the Dep SSN is different than the Member SSN?
0
 
LVL 1

Author Comment

by:Anthony6890
ID: 41881054
The other columns relates to employee information that coincides with dependent information.  The table is a result of a join of two other tables, employees and dependents... I will try the query...
0
 
LVL 36

Expert Comment

by:PatHartman
ID: 41881090
You have several problems.
1. You cannot use SSN as a primary key since it violates privacy laws.  There are also situations where SSN may not be available at the time you need to add a record.
2. You either need to use two tables or change the logic of the single table to be a self-referencing relationship.  Your schema violates second normal form.

To use a single table:
tblPersons
PersonID (autonumberPK)
SSN (indexed but not the PK, not required since not all dependents will have an SSN)
FirstName
LastName
EmployeeID (FK to PersonID - same value for employee but the dependents will have the employee's PersonID here)

To use two tables:
tblEmployees
EmployeeID (autonumber PK)
EmployeeSSN
FirstName
LastName

tblDependents
DependentID (autonumber, PK)
EmployeeID (FK to tblEmployees)
DependentSSN
LastName
FirstName
Relationship

In both cases, you would establish RI
0
 
LVL 1

Author Comment

by:Anthony6890
ID: 41881127
Hi Pat,

Thanks for your information.  Just to clarify, we have have clearance from outside counsel to use the SSN as the identifier so I don't know what privacy laws you are speaking of; however, we are in complete compliance with all HIPAA related privacy laws.  Also, there will never be an instance where an SSN will be unavailable, you cannot get onto the system without one... in any event...

I will have to look at splitting the table, if it gets to that; however, I'm holding out for a possible solution where I don't need to do that...
0
 
LVL 36

Expert Comment

by:PatHartman
ID: 41881159
I don't know what type of application you are developing but under no circumstances would SSN ever be required as a primary key.  You can always use a surrogate key.  That doesn't preclude saving SSN as data and even searching on it.  Is only the use as a primary key that causes a vulnerability.  Think about Medicare.  Medicare uses SSN as the identifier so it is printed on your identification card which must be presented when receiving certain medical services.  That puts my Medicare card in my wallet with my SSN in large print along with my drivers license which contains my name, address, and birth date - a perfect storm for identity theft.

Why would you not want to normalize the schema?  A simple count query gives you a count of dependents for an employee.
0
 
LVL 1

Author Comment

by:Anthony6890
ID: 41881168
Thanks Pat, and I can completely understand where you are coming from; however, I don't have an option to not use the SSN.  I'm creating a flat file from a bunch of queries and programs that are run off our mainframe system and through a couple of access databases.  The files are being created for medical insurance enrollment, so the SSN is required regardless.  

I can attempt to normalize the schema; however, there is a lot more going on than just what I'm explaining here...
0
 
LVL 47

Expert Comment

by:Dale Fye (Access MVP)
ID: 41881190
While I concur with Pat regarding issues with your table structure, I understand that we are not always at liberty to make changes which normalize the data properly.

Have you tried the query I suggested?
0
 
LVL 1

Author Comment

by:Anthony6890
ID: 41881196
Dale, I need to adjust some queries that result in the table that I'm trying to work with before I can try your option.  It's just taking some more time...
0
 
LVL 1

Author Comment

by:Anthony6890
ID: 41881210
Dale your idea works, I'll just making a separate pass to get the total amount of depends and then append the results to the main table.

Thanks again.

-Anthony
0

Featured Post

Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The first two articles in this short series — Using a Criteria Form to Filter Records (http://www.experts-exchange.com/A_6069.html) and Building a Custom Filter (http://www.experts-exchange.com/A_6070.html) — discuss in some detail how a form can be…
Introduction The Visual Basic for Applications (VBA) language is at the heart of every application that you write. It is your key to taking Access beyond the world of wizards into a world where anything is possible. This article introduces you to…
Familiarize people with the process of utilizing SQL Server functions from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Ac…
In Microsoft Access, when working with VBA, learn some techniques for writing readable and easily maintained code.

820 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question