Followups 6
By Richard Rost
4 years ago
Customer Followups in Microsoft Access, Part 6
In this Microsoft Access tutorial, we're continuing work on our Followup database. We will adjust our "move followups ahead" logic so that it skips weekends. We'll also make a button to move all followups ahead to tomorrow (next business day), and we'll learn about event procedure functions, and how to make an "are you sure?" message box prompt.
Pre-Requisites
Links
Up Next
Recommended Courses
Keywords
access 2016, access 2019, access 2021, access 365, microsoft access, ms access, ms access tutorial, #msaccess, #microsoftaccess, #help, #howto, #tutorial, #learn, #lesson, #training, #database, How To Create A Customer Follow-Up System, Move Skips Weekends, Move All Ahead, Event Procedure Functions, Are You Sure?
Subscribe to Followups 6
Get notifications when this page is updated
Intro In this video, we continue our Microsoft Access follow-up management series and focus on improving how you advance follow-up dates for your records. I will show you how to move a follow-up ahead by multiple days with the click of a button, including an option to skip weekends, and demonstrate creating buttons for common periods like day, week, and month. We will also cover how to move all follow-ups forward with a single update query while prompting users with a confirmation box, along with tips on avoiding common pitfalls when renaming controls and writing event procedure functions. This is part 6.Transcript Welcome to another Fast Tips video brought to you by accesslearningzone.com. I am your instructor Richard Rost. In today's Part Six of the follow-up series, we are going to do a little bit more with moving those follow-ups ahead.
One of the best things about being a member on my website or on my YouTube channel is that you get early access to all of my videos that I queue up. Even though today Part One just released on YouTube and on my website, I have already gotten a bunch of emails from people that have some ideas.
You are just now seeing Part Six and it is now a week since Part One was released, but all the members have already seen it. Another reason to join.
What people said they wanted to see was: moving ahead the follow-up to tomorrow was nice, but I would like to be able to click on it a couple of times and move it ahead three days. Also, I would like to be able to skip weekends. For example, today is Friday, and if I move it ahead one day, I want it to move to Monday. We are going to do that in this class.
Sometimes, I also want to just take all of my follow-ups and move them all ahead to tomorrow. Just move them all to tomorrow. If I am done for the day and do not want to make any more phone calls, I can move them all ahead. Not a problem, we can do that too.
We are going to do a little more coding today, but not too much - maybe four or five lines of code. I love teaching a couple of new functions, including something called an event procedure function, which is really neat. I am also going to show you how to pop up a little "Are you sure?" box.
For example: "Are you sure you want to move all these follow-ups ahead a day? Are you sure? OK, yes, no, cancel." All that is coming up.
Now, before we get started with the Part 6 stuff, I forgot to mention a few things in Part 5. At the end of the lesson, I had some notes. I was going to put some stuff up for you - just a couple of links.
My email seminar - if you want to learn a lot more about sending email with Access, check out my email seminar. I show you how to send through Outlook, send attachments, and also send straight to a mail server, like direct to Gmail. That is all covered in my email seminar. I will put a link to this down below.
If you want to learn how to make something a little more complicated, instead of just sending those little teeny tiny email templates, I do have a letter writer video. This is free. It is a TechHelp video, and it shows you how to do something a little more complicated. You can do things that we covered, like a little mail merge, cart codes, and stuff like that. So check that out too.
OK, moving ahead with the lesson material.
If we go to our follow-up screen, we have buttons for "tomorrow," "move ahead a week," and "plus a month." By far, the number one email I got today, even though the video only released earlier today, was: "I would like to be able to not only move it to tomorrow, but hit the button a couple of times and have it move one, two, three, four days, for example."
If that is the case, we will have to also make a move-down button so you can click a button, say move ahead two days, and then go down. We will make it work.
Let's go into design mode here. Now, the logic is going to be: if the follow-up is scheduled before today, we are just going to move it up to today, and then either add a day to it, a week to it, or a month to it.
So if it is something from four weeks ago, and you want to say, "move ahead a day," it will move it to today, and then move it ahead one day. If you say "move it ahead a month," it will move it to today, and then move it up a month. No matter what, all the stuff in the past will come up to today, and then we will add dates on it.
I do not want it to, for example, if it is two months ago and I say "add a month," go to one month ago. That does not make sense.
First, let's change what our captions on our buttons are. That is going to be "+1D," and then this one is going to be "+1W," and then this one is going to be "+1M." Now, you can make minus buttons too, really easily, if you decide you want to go back a couple of days.
Let's change these names a little bit. Did I move to my row button? Let's go with "move1D button," "move1W button," and this one's already "move1M." Let's change it a little bit.
I do this intentionally. I want to bring something to your attention here. When you change these buttons, the code underneath them is now broken. If I save this and open it up again and push the button, nothing happens. This is something that beginning developers do not get, but what happens is if you go to the code builder and right click "Build Event," now I am sitting here in "move1D button click," but if you look, here is all our old code. See that?
That is something that I wish the Access guys would fix in the future. If you rename a control, change any of the VB code that is attached to it. They do not. I might make a utility to do that if you guys are interested, because I do this quite a lot. I rename objects all the time, then I have to go change all the code.
But we are going to rewrite this all anyway, so get rid of it all. Goodbye.
In fact, we are going to get rid of this too. We are not going to actually do this with event procedures; we are going to write our own function. If we make this as a function, then we can call it from the button without actually having to make a little private sub in here.
This is a trick. Come up to the top here. Double blank lines. We are going to say:
Private Function MoveDate
MoveDate is going to take two bits of information: a "unit" as a string - that is going to be like day, week, year, month, quarter, etc. That is our unit. A unit type, whatever you want to call it.
And then "numUnits as Long."
Functions can return values, but in this particular case we are not actually going to return a value. I am just going to say "As Variant," does not matter. We are just calling it a function because if it is a function, we can call it directly from the event procedure property. You will see what I mean in just a minute. This is a little more advanced, but you will get the hang of it once you see it working.
For right now, let's just say if this follow-up is in the past, bring it up to today. So we are going to say:
If followUpDate < Date Then followUpDate = Date
That is the first step. Let's see how we can get this to work now.
Remember, this guy is called MoveDate. Now, I am going to come back up here, select this button, and under Event, On Click, I am going to type in:
=MoveDate("D",1)
We are going to make these parameters exactly the same as the other date function. "D" for days, and then 1.
Hit OK, save it, close it, and then open it back up again.
Now this guy is January 21. So I am going to click +1D. It moved it up to one day from today. Today is the 21st of December, so that is correct.
That is all I programmed it to do. Click OK.
The benefit of what I am showing you here is that, since this is a function, I can call it there like that, which means I do not need to make a separate procedure. In my code for it, I just call the function.
Now I can do the same thing. Copy this, look on this guy, get rid of that event procedure, and just paste that in there. You can now do move ahead seven days, or you could do move ahead one week. But remember, for weeks, you have to use "WW" in the DateAdd.
Remember DateAdd - I showed this a couple of lessons ago. Down here is the format.
One "W" is not weeks, it's day of the week, so it is only a day. Same with years: "Y" is day of the year, so you have to use four "Y"s for years.
I am making mine so it matches DateAdd, except that last parameter is still going to be the date that we are using on the form.
I am just going to leave this one as "D" and "7." For month, we will use "M" and "1." One day, seven days, one month.
Now we have to finish our function.
Come back in here. We are sending into this function the unit (which is day, month, year, etc.) and then the number of units.
Move ahead the follow-up. So it is going to be:
followUpDate = DateAdd(unit, numUnits, followUpDate)
And yes, I guess in retrospect, maybe we should name these things the same as in here, but that is OK.
Save it. Give it a Debug-Compile. Oh, I hit Run. Hit the wrong thing. Debug-Compile. There we go.
Flip back over here. Let's see if it is working.
It should go ahead one day. If I click on this guy, one day, one day, one day. Look at that.
One week. Those are weeks. And let's do months. Those are months. But we are not done.
We are not done. Now we have to avoid weekends. How do we avoid weekends? We could just use the Weekday function and see what day of the week followUpDate is now.
The Weekday function returns a number from 1 to 7, where 1 is Sunday and 7 is Saturday.
So, I will just put down here: "Avoid weekends." We will say:
If Weekday(followUpDate) = 7 Then
This is Saturday. What do we have to do to followUpDate? We have to add Sunday, Monday to it - we are going to add 2 to it. So:
followUpDate = followUpDate + 2
Remember, in Access with our date math, a day has a value of one. So if I add three, I am adding three days. Seven is a week. 1/24 of a day is one hour.
That is Saturday. Now we have to handle Sunday:
ElseIf Weekday(followUpDate) = 1 Then
That is Sunday. So we will say:
followUpDate = followUpDate + 1
Otherwise, just leave it as it is. Just add one. Because it adds the one up here, we just have to move it ahead more if the resulting day falls on a Saturday or Sunday.
Yes, I know this confuses some people. You might think, "If this is seven and I add two to it, now it is nine. Is that how it works?" The date value is a number also, but that number keeps going up. It just keeps going up to the max date, whatever that is, like the year 9999. The Weekday function returns a number from 1 to 7.
If you only want to be able to hit the button once and then move ahead, you could put that code here to move ahead. The DoCmd.GoToControl("followUpDate") and then GoToRecord, acNext. But if you want to be able to hit the button multiple times, then we need to make a separate button to do that.
But let's test this first.
Let's use this guy. I am going to set it to 12-1. Looking at my calendar, 12-1 falls on a Thursday. So add a day. Boom. That is going to jump it up to 12-23. So actually it does not matter that it ends up on a Thursday, because today is 12-22. If I add another day, it goes to 12-26. 12-24 is a Saturday, 12-25 is a Sunday.
Let's move it ahead a month. 1-26. Oh, 2-27. Now why did it go to 2-27? Well, let's see. That is because 2-26-2023 falls on a Sunday.
So that part of it is working.
Now, if you do not want to keep jumping up and forth between these guys, come down here, go to design view. We will make a button. Let's do this next to the Requery button.
Copy-paste. Next.
We will call this the next record button. Right click, build event.
DoCmd.GoToControl "followUpDate" DoCmd.GoToRecord , , acNext
Just like we did in the last class. Save that.
Now, come in here. You can go next, next, next, next. But if you get an error message, what happens? Debug. "Can't go to the next record because you're on the last one."
There are two ways you can handle this. You can either just tell Access to ignore any errors (this is the lazy way): You can say:
On Error Resume Next
What does that mean? That means if you encounter an error, just ignore it and keep doing your thing. If I go next, next, next, next, it just stops there. That is one way to handle it.
I try not to use this with more complicated code. For simple things like this, where I know there are just two lines and I do not want either one of them throwing up an error message, I just ignore it. This is OK. People will tell you "never use 'On Error Resume Next.'" I do not agree. But there are better ways to handle most situations.
For example, in this case, if you are on the last record and you have your ID here (your autonumber), even if it is hidden, you could say "if that ID is null, then just exit this sub." It will not even bother checking. But for this, I am going to leave it. "On Error Resume Next" is fine for this situation.
It is usually about this point that people start asking me, "What about holidays? Can I ignore Christmas? Can I ignore the company picnic day?" Yes, sure, there are all kinds of ways you can do stuff like that. I have a video called "Workdays," where I show you how to do just that. You can ignore things like Christmas, set up a table and ignore custom dates if you want for the company's off days, bank holidays, etc. Watch that video.
One more thing. What if you want to take all of your follow-ups and, say, you have a bunch of them in here and you want to move them all to tomorrow. Maybe you are leaving for the day, and just want to move all these to tomorrow. You want to click one button down here and move them all to tomorrow.
Whenever you think, "I want to move a bunch of records, do something with a bunch of records," your first thought should be "query." We are going to use an update query for this.
If you have never done an update query before, go watch that video. Stop now and watch that video so you understand update queries. While you are at it, watch this video on the Switch() function. Switch is an alternative to the nested Ifs. If you have got an If function and it is either a true or false or one thing or another - if it is just two issues, the If function is perfect. If you start getting three, four, five, six items, that is where the Switch function comes in handy.
We are going to use a query - an update query - to move that data ahead. If the weekday is a Friday, you have to move it ahead three days. If it is a Saturday, move it ahead two days. That is what we use the Switch function for in our update query.
Let's build the query. First, close this.
Create - Query Design - we need our contact table.
Change it to an Update Query.
Set our criteria: The FollowUp field has to be Yes, and the FollowUpDate has to be in the past. So the criteria is "<Date()". Make it "<=Date()" if anybody set that today too. We want to move everybody today and back ahead one day.
Normally, we would set the update to "=Date()+1" - that would move every follow-up date that is before today or today to tomorrow. But we do not want just that. We want to move them ahead a day, but taking weekends into consideration.
Let me zoom in here to show you this in more detail.
We are going to use the Switch() function. With Switch, you can set a parameter and then a value, then another parameter and another value. It is kind of like doing high school grades: If the grade is over 90, give an A, over 80, give a B, etc. The Switch stops once it finds one that matches the criteria.
We are going to say:
Switch( Weekday(Date())=6, Date()+3, // Friday Weekday(Date())=7, Date()+2, // Saturday Weekday(Date())<6, Date()+1 // All others )
Now, pretty much whatever is left will move ahead once. You can put any true condition you want here; to keep it easy, just use "Weekday(Date())<6" for everything else.
It would be the same thing if you nested two Ifs together, but Switch is easier to understand.
Save this guy and name it "FollowUpUpdateAllQ."
Do not run it yet; we are going to run it from code.
Go back to your follow-up form, right click, Design View. Copy-paste to make another button down here. Name it "Move1DAllButton." Make the caption "All +1D" or similar.
Now for this guy, we will need an event. Build event.
If you copy a button, that expression copies with the button, which is handy but probably not what you want here. That is why the expression builder came up. So just get rid of it.
Now right click, build event, and you can enter the following code:
DoCmd.OpenQuery "FollowUpUpdateAllQ" Me.Requery
Because it is a query in the background, we need to refresh the form to reload the records; basically, it will show nothing.
Before we do that, we want to ask the user "Are you sure?" To use an "Are you sure?" prompt, we are going to use a message box.
Here is a video on just doing the "Are you sure?" message box prompt if you want to learn more.
For now, in your code, use:
If MsgBox("Are you sure?", vbYesNoCancel, "Move All Tomorrow") <> vbYes Then Exit Sub
Prompt the user with the message box; that returns what they clicked on. If it is not vbYes, exit the sub and do not do the rest.
Save it.
Yes, I am moving quickly. These are Fast Tips, and I am pointing you to other videos where I explain this stuff in more detail. If you are a little lost, go watch those other videos first. That is what Fast Tips means: Rick moves fast, but I will give you links to my other videos where I move slower.
Let's see if it works.
Today is a Thursday, so these should all move to Friday. Click the "All +1D" button. "Are you sure?" Yes. Now, if I click my All button, you see all the ones that were set for yesterday are now moved to tomorrow, Friday the 23rd.
To test it with the weekends, I would have to change my system clock, which I am not going to do because that would mess up a bunch of other stuff. But trust me, that Switch function does work; I have used it in a bunch of other places.
That is it for Part Six.
I have already gotten a bunch of emails today. Some people wanted me to do things that I have already done in other videos that I do not think I will cover again in this series. Here are some examples.
A couple people wanted to see a popup show up when the database opens if you have follow-ups that you have not gotten to and they are more than a day old. I cover that in this one - the Reminder Popup Date.
Some people asked about this: If you just type in "1/1" for January 1 and it is already December, it defaults to January of the year you are in. But if it is a follow-up, you always want it to be in the future. That is what this video covers. So today, for example, is December 22; if I type in "1/5," I do not want January 5, 2022; I want January 5, 2023. I covered that in this video.
That is all I have for now for Part Six. I have a couple other ideas, maybe a Part Seven, so let me know what you think, what you want to see, what features you want to see me add to this little thing, and what other series you would like me to do.
A couple people have said, "I love this short-form format where you do a bunch of parts to a different kind of database." What kind of database would you like to see me build? I am open to your suggestions, so post them down below.
Thanks for watching. We will see you next time.Quiz Q1. What was one of the main new features requested by users regarding moving follow-up dates? A. The ability to automatically delete old follow-ups B. The ability to move follow-ups multiple days ahead by clicking the button multiple times C. The ability to send follow-ups by SMS D. The ability to print all follow-ups
Q2. What should happen if a follow-up date is in the past and the user clicks "move ahead a day"? A. The date should remain unchanged B. The follow-up should be deleted C. The date should be changed to today, then incremented by one day D. The date should be moved back one day
Q3. Why might you need to create "minus" buttons on the follow-up form? A. To subtract contacts from the database B. To move follow-up dates backwards if necessary C. To decrease the phone number length D. To undo form changes
Q4. What is the reason the button event code often stops working after renaming a button control? A. The underlying button color changes B. Access doesn't automatically update existing VBA code tied to the old control name C. The database gets corrupted during renaming D. The code is deleted automatically
Q5. What is an advantage of using a function instead of a private sub for button event code in Access? A. Functions look more professional than subs B. Functions are always faster than subs C. Functions can be called directly from the event property without needing a separate procedure D. Functions automatically save changes to the form
Q6. In the MoveDate function, what is the purpose of the "unit" parameter? A. To specify which table to update B. To determine the format of the phone number C. To specify the time interval (like day, week, month) to adjust the follow-up date D. To select the user who performed the action
Q7. Which VBA function is used to increment a date by a certain interval, like days or months? A. DateIncrement B. NextDate C. DateAdd D. AddDate
Q8. How does Access represent weekdays in the Weekday function? A. 1 to 7, where 1 is Monday and 7 is Sunday B. 0 to 6, where 0 is Sunday and 6 is Saturday C. 1 to 7, where 1 is Sunday and 7 is Saturday D. 1 to 5, weekdays only
Q9. According to the script, what action does the MoveDate function take if the follow-up date lands on a Saturday after moving ahead? A. Subtract one day B. Add three days C. Add two days D. Do nothing
Q10. What does the On Error Resume Next statement do in VBA? A. Stops the code completely when an error occurs B. Ignores runtime errors and continues running the next line of code C. Displays a detailed error message D. Rolls back all changes made by the code
Q11. What would be a better alternative to "On Error Resume Next" for dealing with moving through records? A. Always display an error message B. Delete the current record on error C. Check if the current record is the last one before trying to move next D. Automatically restart Access
Q12. When wanting to move all follow-up records ahead by a day, which tool is suggested to accomplish this in Access? A. Delete query B. Make-table query C. Update query D. Select query
Q13. What is the Switch function in Access used for in the context of the update query? A. To encrypt the data B. As a replacement for multiple nested Ifs, to choose different date increments based on the current weekday C. To change user login credentials D. To switch between databases
Q14. In the update query example, what does Weekday(Date())=6 correspond to? A. Monday B. Saturday C. Friday D. Sunday
Q15. Why is it important to requery the form after running an update query within a button click event? A. To refresh the displayed data and show the updated records B. To delete all null records automatically C. To recompile the VBA code D. To close and reopen the database
Q16. How is the "Are you sure?" confirmation implemented in this solution before running the update query? A. By writing a custom HTML page B. Using a message box with vbYesNoCancel and checking the result C. By logging out the user automatically D. By disabling the button after one click
Q17. What should you do if you want to handle moving dates ahead while also excluding holidays like Christmas or company off days? A. There is no way to do this in Access B. Use a hard-coded If statement for every known holiday C. Create a table listing all holidays to check against when updating dates D. Manually update the records every holiday
Answers: 1-B; 2-C; 3-B; 4-B; 5-C; 6-C; 7-C; 8-C; 9-C; 10-B; 11-C; 12-C; 13-B; 14-C; 15-A; 16-B; 17-C
DISCLAIMER: Quiz questions are AI generated. If you find any that are wrong, don't make sense, or aren't related to the video topic at hand, then please post a comment and let me know. Thanks.Summary Today's video from Access Learning Zone focuses on enhancing our follow-up management system in Microsoft Access. This marks Part Six of the ongoing follow-up series, where I introduce new methods for moving follow-up dates forward in the database.
One of the key benefits of being a member of my website or YouTube channel is early access to videos as soon as they're queued up. Even before Part One went live, I had already received several emails with suggestions and feature requests for future parts. By the time you're watching Part Six, members have already had a chance to view and respond to these earlier parts, which is a great reason to consider joining.
Among the most common requests was the desire to not only advance follow-up dates to tomorrow, but also to have the ability to click the advance button multiple times to move a follow-up ahead by several days. Additionally, many wanted the system to skip weekends so, for example, a follow-up scheduled for Friday that is moved ahead by one day should properly land on Monday. Another feature request was for an option to move all current follow-ups forward to tomorrow in one action, for situations where you're finishing up for the day and want to handle all pending follow-ups at once. All of these features will be addressed in this lesson.
We'll be working with a bit more VBA code today, but it's only a few lines and you'll learn some handy functions along the way. I'll demonstrate how to create a function that lets you control date movement more flexibly and also how to present a confirmation, or "Are you sure?", dialog box before applying changes—especially when updating multiple records.
Before diving into today's new material, I want to mention some additional resources. If you're interested in learning more about sending emails with Access, I highly recommend my email seminar. It covers sending messages via Outlook, sending attachments, and even communicating directly with mail servers like Gmail. I'll provide a link below for those interested. For a more advanced example, my free TechHelp video on building a letter writer walks you through building a more robust mail merge utility with features such as templates and cart codes.
Turning to our follow-up form, you'll see there are buttons set up to advance tasks by one day, one week, or one month. The top request I got since releasing the previous video was for the ability to use these buttons multiple times to incrementally move a follow-up by the same period more than once. To make this work, we'll need a flexible approach, and it might be useful to add a button to move dates backward as well, if needed.
After updating button labels to be clearer about their functions (for instance, "+1D", "+1W", "+1M"), I pointed out a common pitfall in Access development: if you rename a button or control, the associated code no longer links automatically, and you have to manually update your event procedures. It's a detail many new developers overlook, and hopefully Microsoft will address this in the future. For now, I simply reestablish those links as we continue developing.
Instead of writing separate private procedures for each button, I demonstrate how to define a reusable function. By creating a function that takes as parameters both the date unit ("D" for days, "W" for weeks, "M" for months, etc.) and the number to increment by, we can call this function from any button on the form. That way, there's no need to maintain separate blocks of code for each button. If the current follow-up date is before today, the function first brings it up to today, then advances by whatever period you select. That way, all overdue follow-ups get appropriately rescheduled.
Testing this approach, clicking a button marked "+1D" moves a follow-up ahead to tomorrow or as many days as you press the button, and similar logic works for weeks and months.
Next, it's important to handle weekends correctly. By using the Weekday function, which identifies the day of the week (1 for Sunday through 7 for Saturday), we can detect when a date increment would fall on a weekend. If the resulting date is a Saturday or Sunday, the code automatically pushes it forward to Monday. This ensures follow-ups always land on weekdays.
Navigating through records, I show how to create a button to move to the next record. If you attempt to go past the last record, Access generates an error. A simple way to handle this is to use "On Error Resume Next", which ignores the error. While some purists discourage this practice, for small, contained pieces of code like this it is perfectly acceptable. There are, of course, more robust techniques using checks before actions if you want to avoid ignored errors entirely.
Questions about ignoring holidays also come up frequently. For those who want to skip not just weekends but also custom holidays like Christmas or company-specific days off, I have a separate video explaining how to manage a table of holidays and adjust task scheduling accordingly.
For the scenario of moving all follow-ups ahead by a day at once, an update query comes into play. Using an update query, you can shift all records that are current or overdue ahead in a single step. I also introduce the Switch() function, which is a convenient replacement for multiple nested If statements when you have several possible conditions, such as treating Friday or Saturday differently from other weekdays.
In the query, Switch tests the current day and sets the offset accordingly—moving Friday's follow-ups ahead by three days, Saturday's by two, and all others by one. This technique ensures that when you move everything ahead, you never push due dates onto weekends.
Once the query is written, I place a new button on the form labeled "All +1D". A confirmation dialog appears before executing the update, giving the user a chance to cancel if needed. After running, the form is requeried to display the updated results.
To cover other related requests I've received, I mention videos where you can learn how to trigger a follow-up reminder popup when the database opens if you've missed tasks, as well as a video explaining how to ensure new dates are always in the future (for example, defaulting a short date entry like "1 5" to January 5 of the coming year if the current date is December).
That wraps up Part Six. As always, I'm open to your suggestions for future topics and database projects—let me know what kind of examples or features you'd be interested in seeing next.
You can find a complete video tutorial with step-by-step instructions on everything discussed here on my website at the link below. Live long and prosper, my friends.Topic List Creating a function to move follow-up dates ahead by days, weeks, or months Handling past follow-up dates by resetting to today before moving ahead Calling custom VBA functions directly from button Event properties Renaming form controls and updating associated event code Using the DateAdd function with different units in VBA Adjusting functionality to skip weekends when moving follow-up dates Using the Weekday function to identify and handle Saturdays and Sundays Creating next record navigation with error handling Applying "On Error Resume Next" for simple event handler code Creating an update query to move all follow-up dates ahead Using the Switch function in update queries for date adjustments Excluding weekends in bulk date updates with Switch and Weekday Building a confirmation "Are you sure?" message box for bulk actions Refreshing the form to display updated records after running a query Duplicating and modifying buttons for bulk operations in forms
|