Jumat, 15 Juli 2011

Re: [MS_AccessPros] Updating table with Age Group entry

 

This works great. Is there way in Query B that I change AgeGroupID to a numeric field so I can link it to tlkpAgeGroup table so I can pull out the AgeGroupName field to display the name of the Age group?

With warm regards,

Arthur Lorenzini| SQL Server/Access Developer l alorenzin@live.com
Office: 605-338-0947| Mobile: 605-857-9137 | Fax: 605-338-0947
 
1316 E. 7th Street
Sioux Falls, SD  57103  
SQL Server Development
Database Adminstration Services
Microsoft Access Development  
Grant Writing TA Services
IT Assessment Services
Software Application Training

From: John Viescas <john@viescas.com>
To: MS_Access_Professionals@yahoogroups.com
Sent: Friday, July 15, 2011 12:23 PM
Subject: RE: [MS_AccessPros] Updating table with Age Group entry

 
Art-

Try this:

QueryA:
SELECT StudentID, DateDiff("yyyy",[DOB],Date())+Int(Format(Date(),"mmdd")<Format([DOB],"mmdd")) AS Age, Switch([Age] <= 18, 1, [Age] <= 21, 2, [Age] <= 25, 3, [Age] <= 30,4, [Age] <= 35, 5, [Age] <= 40, 6, [Age] <= 49, 7, True, 8) As AgeGroup
FROM tblStudent

QueryB:
SELECT Count(StudentID) As Total, QueryA.AgeGroup
FROM QueryA
GROUP BY QueryA.AgeGroup

John Viescas, author
Microsoft Office Access 2010 Inside Out
Microsoft Office Access 2007 Inside Out
Building Microsoft Access Applications
Microsoft Office Access 2003 Inside Out
SQL Queries for Mere Mortals
http://www.viescas.com/
(Paris, France)

-----Original Message-----
From: MS_Access_Professionals@yahoogroups.com [mailto:MS_Access_Professionals@yahoogroups.com] On Behalf Of Art Lorenzini
Sent: Friday, July 15, 2011 6:56 PM
To: MS_Access_Professionals@yahoogroups.com
Subject: Re: [MS_AccessPros] Updating table with Age Group entry

OK this worked up to the point I tried to add the Count:

SELECT Count(tblStudent.StudentID) AS Total, DateDiff("yyyy",[DOB],Date())+Int(Format(Date(),"mmdd")<Format([DOB],"mmdd")) AS Age, Switch([Age] <= 18, 1, [Age] <= 21, 2, [Age] <= 25, 3, [Age] <= 30,4, [Age] <= 35, 5, [Age] <= 40, 6, [Age] <= 49, 7, True, 8) As AgeGroup
FROM tblStudent

I understand tha aggregate error but how do I put the expressions into a GROUP BY?

With warm regards,

Arthur Lorenzini| SQL Server/Access Developer l alorenzin@live.com
Office: 605-338-0947| Mobile: 605-857-9137 | Fax: 605-338-0947

1316 E. 7th Street
Sioux Falls, SD 57103
SQL Server Development
Database Adminstration Services
Microsoft Access Development
Grant Writing TA Services
IT Assessment Services
Software Application Training

From: John Viescas <john@viescas.com>
To: MS_Access_Professionals@yahoogroups.com
Sent: Friday, July 15, 2011 11:47 AM
Subject: RE: [MS_AccessPros] Updating table with Age Group entry

Art-

Put those two expressions in a query on your table, then run it to see if you like the result. You can then GROUP BY on the AgeGroupID to get what you want.

John Viescas, author
Microsoft Office Access 2010 Inside Out
Microsoft Office Access 2007 Inside Out
Building Microsoft Access Applications
Microsoft Office Access 2003 Inside Out
SQL Queries for Mere Mortals
http://www.viescas.com/
(Paris, France)

-----Original Message-----
From: MS_Access_Professionals@yahoogroups.com [mailto:MS_Access_Professionals@yahoogroups.com] On Behalf Of Art Lorenzini
Sent: Friday, July 15, 2011 6:37 PM
To: MS_Access_Professionals@yahoogroups.com
Subject: Re: [MS_AccessPros] Updating table with Age Group entry

OK, that make sense but I how would I do it in a query? I need to list the age groups and their appriopriate student counts.

With warm regards,

Arthur Lorenzini| SQL Server/Access Developer l alorenzin@live.com
Office: 605-338-0947| Mobile: 605-857-9137 | Fax: 605-338-0947

1316 E. 7th Street
Sioux Falls, SD 57103
SQL Server Development
Database Adminstration Services
Microsoft Access Development
Grant Writing TA Services
IT Assessment Services
Software Application Training

From: John Viescas <john@viescas.com>
To: MS_Access_Professionals@yahoogroups.com
Sent: Friday, July 15, 2011 11:33 AM
Subject: RE: [MS_AccessPros] Updating table with Age Group entry

Art-

Because the age changes over time, you should NOT store age group in your table.
You should calculate it in a query:

Age: DateDiff("yyyy", [DOB], Date()) + Int(Format(Date(), "mmdd") <
Format([DOB], "mmdd"))

AgeGroupID: Switch([Age] <= 18, 1, [Age] <= 21, 2, [Age] <= 25, 3, [Age] <= 30,
4, [Age] <= 35, 5, [Age] <= 40, 6, [Age] <= 49, 7, True, 8)

John Viescas, author
Microsoft Office Access 2010 Inside Out
Microsoft Office Access 2007 Inside Out
Building Microsoft Access Applications
Microsoft Office Access 2003 Inside Out
SQL Queries for Mere Mortals
http://www.viescas.com/
(Paris, France)

-----Original Message-----
From: MS_Access_Professionals@yahoogroups.com
[mailto:MS_Access_Professionals@yahoogroups.com] On Behalf Of Art
Sent: Friday, July 15, 2011 6:12 PM
To: MS_Access_Professionals@yahoogroups.com
Subject: [MS_AccessPros] Updating table with Age Group entry

I have a table called tblStudent:

tblStudent
StudentID PK
LastName
FirstName
DOB
AgeGroupID - FK to tlkpAgeGroup

The tlkpAgeGroup table contains the following records:
AgeGroupID AgeGroupName
1 18 and Under
2 19 - 21
3 22 - 25
4 26 - 30
5 30 - 35
6 36 - 40
7 41 - 49
8 50 and over

What I am trying to do is update the AgeGroupID field in tblStudent with the
appropriate number based on the DOB. Any ideas?

Thanks,

Art Lorenzini,
Sioux Falls, SD

------------------------------------

Yahoo! Groups Links

[Non-text portions of this message have been removed]

------------------------------------

Yahoo! Groups Links

[Non-text portions of this message have been removed]

------------------------------------

Yahoo! Groups Links

[Non-text portions of this message have been removed]

__._,_.___
Recent Activity:
.

__,_._,___

Tidak ada komentar:

Posting Komentar