Access Form Formatting Labels

Good Morning!

I have what seems to be to be a tricky problem and I am not sure there is a solution.

I have created a report in Access with 3 grouping levels: toID, stoID, actID. It is sorted in the last group by the actType.

It looks a bit like this:

AV: Title
         01: Title
                Employee Name

The activities listed (actID) are divided into tasks and meetings. They are sorted so that tasks will appear first on the list.

What I need is for a label to show up at the beginning of the list that says "Tasks" for all of those with the taskID of 1. Then I need a label that says "Meetings" for those that have a taskID of 2. I need the label to only show up once, so that it looks something like this:

AV: Title
         01: Title
                Employee Name
                    Tasks:           Activity
                     Meetings:     Activity

Is this possible?

Thank you!
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Jeffrey CoachmanMIS LiasonCommented:
How about just posting a sample of this DB?
Sample database notes:
1. Back up your database(s).
2. Combine the front and back ends into one database file.
3. Remove any startup options, unless they are relevant to the issue.
4. Remove any records unless they are relevant to the issue.
5. Delete any objects that do not relate directly to the issue.
6. Remove any references to any "linked" files (files outside of the database, Images, OLE Files, ...etc)
7. Remove any references to any third party Active-x Controls (unless they are relevant to the issue)
8. Remove, obfuscate, encrypt, or otherwise disguise, any sensitive data.
9. Compile the code. (From the VBA code window, click: Debug-->Compile)
10. Run the compact/Repair utility.
11. Remove any Passwords and/or security.
12. If a form is involved in the issue, set the Modal and Popup properties to: No
    (Again, unless these properties are associated with the issue)
13. Post the explicit steps to replicate the issue.
14. Test the database before posting.

In other words, a database that we can easily open and immediately see and/or troubleshoot the issue.
And if applicable, also include a clear graphical representation of the *Exact* results you are expecting, based on the sample data.

My fist guess is that you need a textbox to display this text.
Then use code like this as the controlsource for this textbox:
If TaskID=1 then
ElseIf TaskID=2 then
End if

Or, something like this as the Controlsource in the control directly:
Dale FyeOwner, Developing Solutions LLCCommented:
Why not just add an ActivityType with values (Tasks and Meetings) (it could be computed based on some other field) field to the query that is the source for the report.  You obviously already have some way of identifying that.  Then, instead of a label, you could use a textbox to display that value.

If need be, you could use the detail sections Format event to keep track of the employee name and Task type for each record, and use that to hide/reveal that textbox for only the first activity type within each employee, something like:

Private Sub Detail_Format

    Static strPrevEmployee as string
    Static strPrevActType as string
    dim bDisplay as boolean

    if me.txt_Employee <> strPrevEmployee then
        bDisplay = true
        strPrevEmployee = me.txt_Employee
        strPrevActType = me.txt_ActivityType
    elseif me.txt_ActivityType <> strPrevActType then
        bDisplay = true
        strPrevActType = me.txt_ActivityType

     me.txt_ActivityType.visible = bDisplay

End Sub

NOTE: if you use this technique, you will need to use the acPrintPreview option of the OpenReport method, because code behind the report will not fire if you use the ReportView option.
Jeffrey CoachmanMIS LiasonCommented:
Try this:
The 7 Worst Nightmares of a Sysadmin

Fear not! To defend your business’ IT systems we’re going to shine a light on the seven most sinister terrors that haunt sysadmins. That way you can be sure there’s nothing in your stack waiting to go bump in the night.

Jeffrey CoachmanMIS LiasonCommented:
Or, pull the TaskType into the report's Record source.

See the new report in the attached sample

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
MeginAuthor Commented:
Boag2000, that is exactly what I want it to do!

I may have made the entire thing harder than it has to be. I am going to try to upload the database so you can see it. It is going to take me a few minutes though, as I have to take out all the personal information.

Thank you for working on this for me!
Jeffrey CoachmanMIS LiasonCommented:
Finally, just a note.

You may want to consider later changing your field name:

This is like saying:

Perhaps you should call your field "EventID", then the other field would be EventType (Task or Meeting)

In my two example, I would change my field to: LandParcelD, and StructureID, respectively...
MeginAuthor Commented:
Attached is my database.

The report that is an issue is the rpt_Weekly.

To pull up the sample activities, when it asks for start and end date, please enter 4/6/12 for both.

Let me know if this works.

Dale FyeOwner, Developing Solutions LLCCommented:

Looks like you've got this covered, and since I cannot download the database, I will leave this in your capable hands!

Jeffrey CoachmanMIS LiasonCommented:

From what you posted, I don't really see the need for subreports...

In any event, you can take what I did in my sample and apply it to your database.
MeginAuthor Commented:
I was wondering about the subreport thing too. This is why they are there:

I need to have the employees grouped in SubTask Orders. The activities are then grouped under these subtask orders.

On the report, I need the subtask order listed once, all those who are part of that subtask order listed together, once. Then I need all of the activities listed, once. When I was doing this other ways I would end up with the employees listed multiple times or the activities listed multiple times.

When I do what it looks like you did in your example, the text box repeats itself for every activity.

Task: act1
Task: Act 2
Meeting: act 3
Meeting: act 4

I need it to only list it once, like you did in your example.

Yours looks simple, like I wanted mine to be, but I wasn't able to make it work that way when I was building it. Though, I am still not very good at this so there is a good chance that what I have done is wrong.
MeginAuthor Commented:
I got it!  Everything is going to be okay.

Thank you for your help!!!!!
Jeffrey CoachmanMIS LiasonCommented:
OK, then the main issue here (creating a prefix based on the task ID) seems to be resolved...

You can post a new Question on the report design.
Remember to post a sample of the DB following the steps I outlined in my first post...
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.