Free Lessons
Courses
Seminars
TechHelp
Fast Tips
Templates
Topic Index
Forum
ABCD
 
Home   Courses   TechHelp   Help   Contact   Merch   Join   Order   Logon   Forums   
 
Back to Access Forum    Comments List
Upload Images   @Reply   Bookmark    Link   Email   Next Unseen 
Importing Appointments and Tasks
Kenneth A Thomas 
       
8 hours ago
I currently have appointments and tasks stored in Google (related to personal email address) and Outlook (related to my work email).  Can someone direct me to a video that would explain how to import these items to an Access Table and advice for setting up the table?  Thank you.
A Toykan  @Reply  
      
6 hours ago
Yes, this can be done. I wasn't sure if Richard had videos specifically on these topics, and unfortunately, I couldn't find any clear results in his channel search.
When I started writing to explain what approach I could take, I realized it was a bit too long, so I asked ChatGPT to break down my answer into important subheadings without losing context and summarize them in a more understandable way. Since the text is a bit more organized, I'm sharing it now. I would have liked to explain it with a video example, but for now, we can ask our dear Richard to address this as a topic for a TechHelp video.

Outlook / Google Calendar and Tasks → Microsoft Access

We have appointments and tasks in two different places:
Appointments and tasks are in Microsoft Outlook
Personal appointments are in Google Calendar

We would like to bring these into Microsoft Access so that we can work with all of them from one database, just want Access to keep a local copy of our appointments and tasks and update them when necessary.

1. Access Tables

I think it is better to use two separate tables rather than putting everything into one table.
AppointmentT

| Field         | Type       | Purpose                                |
| ------------- | ---------- | -------------------------------------- |
| AppointmentID | AutoNumber | Primary Key                            |
| Source        | Short Text | OUTLOOK or GOOGLE                      |
| SourceID      | Short Text | ID of the original appointment         |
| Subject       | Short Text | Appointment title                      |
| StartDateTime | Date/Time  | Start date and time                    |
| EndDateTime   | Date/Time  | End date and time                      |
| AllDay        | Yes/No     | All-day appointment                    |
| Location      | Short Text | Location                               |
| Description   | Long Text  | Notes/details                          |
| Organizer     | Short Text | Organizer                              |
| IsRecurring   | Yes/No     | Recurring appointment                  |
| LastModified  | Date/Time  | Last modification                      |
| ImportedAt    | Date/Time  | When Access imported it                |
| IsDeleted     | Yes/No     | Used when the original item is deleted |

TaskT

| Field           | Type       | Purpose                                |
| --------------- | ---------- | -------------------------------------- |
| TaskID          | AutoNumber | Primary Key                            |
| Source          | Short Text | OUTLOOK or GOOGLE                      |
| SourceID        | Short Text | ID of the original task                |
| Subject         | Short Text | Task description                       |
| StartDate       | Date/Time  | Start date                             |
| DueDate         | Date/Time  | Due date                               |
| Completed       | Yes/No     | Completed or not                       |
| PercentComplete | Integer    | Completion percentage                  |
| Priority        | Integer    | Task priority                          |
| Status          | Short Text | Current status                         |
| Description     | Long Text  | Notes/details                          |
| LastModified    | Date/Time  | Last modification                      |
| ImportedAt      | Date/Time  | When Access imported it                |
| IsDeleted       | Yes/No     | Used when the original item is deleted |

2. Why do we need Source and SourceID?

This is important. For example, Access may receive the same Outlook appointment every time we run the import. we don't want Access to create another copy every time. So we keep 'Source = OUTLOOK' and the original Outlook item's unique ID in 'SourceID'

The same applies to Google, 'Source = GOOGLE'and its Google event ID in 'SourceID'.

This allows Access to say:
"I already have this appointment, so update it instead of creating another one."

I would also create a unique index on Source + SourceID.

3. Getting appointments from Outlook
For Outlook, we would use VBA inside Access. The basic idea is:

Access opens Outlook in the background and goes to the user's Calendar folder. Something like:

Access
   ↓
Outlook
   ↓
Calendar
   ↓
Appointment Items
   ↓
AppointmentT

For every appointment, Access reads the information such as:

* Subject
* Start time
* End time
* Location
* Description
* Organizer
* Last modified date

and then puts that information into AppointmentT.

The important point is that we are not manually exporting an Excel file from Outlook every time. Access will read the Outlook Calendar directly.

4. Getting Tasks from Outlook
Tasks work in almost exactly the same way. Access connects to Outlook and opens the Tasks folder:

Access
   ↓
Outlook
   ↓
Tasks
   ↓
Task Items
   ↓
TaskT

For each task, Access reads things such as:

* Subject
* Start Date
* Due Date
* Completed
* Percent Complete
* Priority
* Notes

and stores them in TaskT.

5. What about Google Calendar?
Google is slightly different. We cannot use the Outlook VBA method for Google. For Google Calendar, the better approach is to use the Google Calendar API. The basic idea is:

Google Calendar
      ↓
Google Calendar API
      ↓
Access VBA
      ↓
AppointmentT

The Google event ID becomes the SourceID, and Source is simply GOOGLE. So Access does not really care where the appointment came from. It can have:

OUTLOOK | Meeting with John
OUTLOOK | Sales meeting
GOOGLE  | Personal appointment
GOOGLE  | Family event

all in the same AppointmentT table.

6. The final idea
Put a simple button in Access such as "Sync Outlook & Google" and, when we click it, Access checks both sources. It looks for:

* New appointments
* Changed appointments
* Deleted appointments
* New tasks
* Changed tasks
* Deleted tasks

and updates the Access tables. So Access becomes the central database, while Outlook and Google remain the original sources.
Add a Reply Upload an Image
Next Unseen

 
 
What's This?

 

The following is a paid advertisement
Computer Learning Zone is not responsible for any content shown or offers made by these ads.
 

Learn
 
Access - index
Excel - index
Word - index
Windows - index
PowerPoint - index
Photoshop - index
Visual Basic - index
ASP - index
Seminars
More...
Customers
 
Login
My Account
My Courses
Lost Password
Memberships
Student Databases
Change Email
Info
 
Latest News
New Releases
User Forums
Topic Glossary
Tips & Tricks
Search The Site
Code Vault
Collapse Menus
Help
 
Customer Support
Web Site Tour
FAQs
TechHelp
Consulting Services
About
 
Background
Testimonials
Jobs
Affiliate Program
Richard Rost
Free Lessons
Mailing List
PCResale.NET
Order
 
Video Tutorials
Handbooks
Memberships
Learning Connection
Idiot's Guide to Excel
Volume Discounts
Payment Info
Shipping
Terms of Sale
Contact
 
Contact Info
Support Policy
Mailing Address
Phone Number
Fax Number
Course Survey
Email Richard
[email protected]
Blog RSS Feed    YouTube Channel

LinkedIn
Copyright 2026 by Computer Learning Zone, Amicron, and Richard Rost. All Rights Reserved. Current Time: 9/3/2026 1:23:20 AM. PLT: 1s