Bluezman
10-29-2002, 06:24 AM
I have a table for keeping track of dates and events, tblActivity. The fields are as such:
ActivityID - Number
ActivityDate - mm/dd/yyyy
ActivityTypeID - Number
ActivityType - Text (combo box)
ActivityChapter - Number
ActivityState - Text (combo box)
What I need to do is this; create a query or vba recordset which will find the MAX date and LAST ActivityTypeID (just in case there are multiple events on the same day). My ActivityTypeID's have been ranked 1-18 so a 9 would always show up after an 8, for instance if they occured on the same day.
So far I've created a QryLastStatusDate with the SQL of:
SELECT tblActivity.ActivityID, Max(tblActivity.ActivityDate) AS ActivityDate, Last(tblActivity.ActivityTypeID) AS LastOfActivityTypeID
FROM tblActivity
GROUP BY tblActivity.ActivityID
ORDER BY tblActivity.ActivityID, Max(tblActivity.ActivityDate) DESC , Last(tblActivity.ActivityTypeID) DESC;
And then a QryCurrentStatus with the SQL of:
SELECT qryLastStatusDate.ActivityID, Max(qryLastStatusDate.ActivityDate) AS MaxOfActivityDate, Last(qryLastStatusDate.LastOfActivityTypeID) AS LastOfLastOfActivityTypeID, tblActivity.ActivityType, funActiveStatus([ActivityType]) AS MemberStatus
FROM tblActivity INNER JOIN qryLastStatusDate ON (tblActivity.ActivityTypeID = qryLastStatusDate.LastOfActivityTypeID) AND (tblActivity.ActivityDate = qryLastStatusDate.ActivityDate) AND (tblActivity.ActivityID = qryLastStatusDate.ActivityID)
GROUP BY qryLastStatusDate.ActivityID, tblActivity.ActivityType
ORDER BY qryLastStatusDate.ActivityID;
But this doesn't always bring back the last entry into the tblActivity for an ActivityID.
Any help here would be greatly appreciated!
Bluez
ActivityID - Number
ActivityDate - mm/dd/yyyy
ActivityTypeID - Number
ActivityType - Text (combo box)
ActivityChapter - Number
ActivityState - Text (combo box)
What I need to do is this; create a query or vba recordset which will find the MAX date and LAST ActivityTypeID (just in case there are multiple events on the same day). My ActivityTypeID's have been ranked 1-18 so a 9 would always show up after an 8, for instance if they occured on the same day.
So far I've created a QryLastStatusDate with the SQL of:
SELECT tblActivity.ActivityID, Max(tblActivity.ActivityDate) AS ActivityDate, Last(tblActivity.ActivityTypeID) AS LastOfActivityTypeID
FROM tblActivity
GROUP BY tblActivity.ActivityID
ORDER BY tblActivity.ActivityID, Max(tblActivity.ActivityDate) DESC , Last(tblActivity.ActivityTypeID) DESC;
And then a QryCurrentStatus with the SQL of:
SELECT qryLastStatusDate.ActivityID, Max(qryLastStatusDate.ActivityDate) AS MaxOfActivityDate, Last(qryLastStatusDate.LastOfActivityTypeID) AS LastOfLastOfActivityTypeID, tblActivity.ActivityType, funActiveStatus([ActivityType]) AS MemberStatus
FROM tblActivity INNER JOIN qryLastStatusDate ON (tblActivity.ActivityTypeID = qryLastStatusDate.LastOfActivityTypeID) AND (tblActivity.ActivityDate = qryLastStatusDate.ActivityDate) AND (tblActivity.ActivityID = qryLastStatusDate.ActivityID)
GROUP BY qryLastStatusDate.ActivityID, tblActivity.ActivityType
ORDER BY qryLastStatusDate.ActivityID;
But this doesn't always bring back the last entry into the tblActivity for an ActivityID.
Any help here would be greatly appreciated!
Bluez