MS Access Contact Database Template Sample

Probably the most common requests we see in forums is for an Microsoft Access Contact database templates and how to structure the tables and build the data entry forms.  So I thought I’d provide a basic sample database to help beginners get off to a good start.

The basic structure that I created is as follows:

Contact Database Relationships and then I created a simple form to manage everything from:

Contact Database Form

This is a simple sample as things can get very complex, very quickly depending on your needs, but for the average home user this would fill the need for a contact management database or at the very least be a great starting point to build more complex applications from.

This demo is unlocked and fully editable with no strings attached.

Also note, that this is merely a simple demo to illustrate keep concepts and functionalities. Before moving it into production, proper error handling should be added throughout, variable validation needs to be enforced and testing of the overall application needs to be performed.

Download

Feel free to download a copy (unlocked x32 mdb – which is fully compatible with Access 2000 through 2016 – which is the last current version available when publishing this sample) by using the link provided below:

Disclaimer/Notes:

If you do not have Microsoft Access, simply download and install the freely available runtime version (this permits running MS Access databases, but not modifying their design):

Microsoft Access 2010 Runtime
Microsoft Access 2013 Runtime
Microsoft Access 2016 Runtime
Microsoft 365 Access Runtime

All code samples, download samples, links, ... on this site are provided 'AS IS'.

In no event will Devhut.net or CARDA Consultants Inc. be liable to the client/end-user or any third party for any damages, including any lost profits, lost savings or other incidental, consequential or special damages arising out of the operation of or inability to operate the software which CARDA Consultants Inc. has provided, even if CARDA Consultants Inc. has been advised of the possibility of such damages.

Download “Contact Database” Contacts_Demo.zip – Downloaded 66078 times – 67.08 KB

Version History

V1.01 (2017-02-09)

  • Corrected a few minor glitches
  • Code cleanup

V1.00 (2016-09-01)

  • Initial release

15 responses on “MS Access Contact Database Template Sample

  1. Hany Abdullah Shousha

    Thank you for your effort. I need to know how can I change the contents of lists of cities, provinces, and country.

    1. Daniel Pineault Post author

      If you review the control’s Row Source in the Property Sheet, you’ll be able to determine that each one draws its list from a table:

      Cities -> lst_Cities
      Provinces/States -> lst_Provinces
      Countries -> lst_Countries

  2. Kasithumba

    Such fabulous format, simple to understand and customize – great effort indeed…

  3. Antonio Guglielmo

    Thank you very much for your effort, I really appreciated this article. Is it possible to provide a locked version of this database sample for testing purposes?

    1. Daniel Pineault Post author

      I provide an unrestricted version for you to do as you please. Each developer has there own way of distributing their work to their users, so I leave that to you. You can do as you see fit for your needs.

  4. William

    This is a great tutorial, Daniel, and I cannot thank you enough for such clear directions.
    My People table can have many phone numbers, and some People are at the same address.
    I understand that is a Many to Many relationship which requires a junction table.
    It would be an awesome tutorial for that situation as well as e-mail addresses…
    Just a thought !

  5. Dan

    Best of luck with the new YouTube channel.

    Thank you for sharing the Contact Database. I’m trying to make the filter by type of contact display the first contact of the selected Contact Type. I can not figure it out. Any help would be appreciated.

    1. Daniel Pineault Post author

      There are different ways to accomplish this, but one would be to

      switch

      Private Sub lst_Contacts_Click()

      to

      Public Sub lst_Contacts_Click()

      and then update the cbo_ContactType_AfterUpdate event to

      Private Sub cbo_ContactType_AfterUpdate()
          Call ApplyFilters2Lst
          If Me.lst_Contacts.ListCount > 0 Then
              Me.lst_Contacts = Me.lst_Contacts.ItemData(0)
              Me.lst_Contacts_Click
          End If
      End Sub
  6. Dan

    I am so thankful for your help. So simple.
    I can read it, but I have the hardest time writing the code.
    You know, Access gurus like yourself are like Rock Stars in my book.
    Give an Access guru a melody and they’ll write you a Rock Anthem.

  7. Dan

    I am working on customizing the functionality of the form. It’s coming together pretty good.

    I’d like to have a record nav control bar – First | Previous | Next | Last

    I looked at the code and I see how the record sources are being generated as needed per control. I’ve been testing and experimenting; I created a NEXT button, with on click

    Private Sub Command25_Click()
    If IsNull(Me.RecordSource) Then
    Call ApplyFilters2Lst
    End If
    Me.Recordset.MoveNext
    If Recordset.EOF Then
    Recordset.MoveFirst
    End If
    End Sub

    I turned on Navigation Buttons and can see the main form record indicator is advancing but not the sub form. I am not sure how to sync the two and display the currently indicated record.

    Thank you