• Skip to main content
  • Skip to primary sidebar

Ryan McCormick

How to Count Records in VBA | Microsoft Access 2010

August 22, 2013 by Ryan 3 Comments

In a recent program that I wrote, I needed to store a count of records from a query in a variable. Since VBA and Access isn’t as intuitive as say connecting to a MySQL database with PHP, I thought I would share.

Function recordCount()
    Dim rs As DAO.Recordset
    Dim db As Database
    Dim strSQL As String

    Set db = CurrentDb

    'Count Query - replace query with your
    'Query of Choice
    strSQL = "SELECT COUNT(*) FROM [table]"

    'Set Recordset Query
    Set rs = db.OpenRecordset(strSQL)

    'Return Record Count Variable
    recordCount = rs.Fields(0)

    'Close Connections and Reset Variables
    rs.Close
    Set rs = Nothing
    Set db = Nothing
End Function

I use this code in a module. To insert a module, select menu Insert>Module. Paste this code and modify.

When calling in a program you use recordCount()

Dynamically Count Records in Table

With this method, you can count records by using recordCount(“tablename”). For some reason I left this out when writing this post.

Function recordCount(selTable)  
  Dim rs As DAO.Recordset
    Dim db As Database
    Dim strSQL As String

    Set db = CurrentDb

    'Count Query - replace query with your
    'Query of Choice
    strSQL = "SELECT COUNT(*) FROM " & selTable

    'Set Recordset Query
    Set rs = db.OpenRecordset(strSQL)

    'Return Record Count Variable
    recordCount = rs.Fields(0)

    'Close Connections and Reset Variables
    rs.Close
    Set rs = Nothing
    Set db = Nothing
End Function

Anyway, that is all I got for this post. Please feel free to comment with suggestions or improvements.

Filed Under: Microsoft Access Tagged With: count records, ms access 2010, vba

Reader Interactions

Comments

  1. tawarith says

    January 15, 2015 at 6:47 am

    Good, For the beginer VBA Code , Thank you.

    Reply
  2. Thomas Osten says

    April 17, 2018 at 10:37 pm

    Hello from Hamburg, Germany.
    Thank you for this tiny code.
    In an business DB with tasks and actions (many per task) I needed to build an myID for (new) actions like autoincrement but always starting from 1 per task. With your code I can count the actions records with same fk to tasks and use the result+1 as default value for myID when creating new actions via form.

    Reply
  3. THU DV says

    May 1, 2019 at 5:24 am

    Dear Sir

    Can you make a exemple for function “recordCount”?

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Recent Posts

  • Force Quit Kill all Chrome Windows MacOS
  • SOLVED: Angular 6 CLI Karma Stuck in Single Run | Karma Stops Running
  • How to Manually Install Java 8 on Ubuntu 18.04 LTS
  • Remove VirtualBox from Ubuntu 16.04 Xenial
  • Clear all Node Modules Folders Recursively Mac/Linux

Recent Comments

  1. KKV on Webstorm adding spaces between imports and braces | JavaScript and TypeScript
  2. jusopi on Clear all Node Modules Folders Recursively Mac/Linux
  3. Qaisar Irfan on Clear all Node Modules Folders Recursively Mac/Linux
  4. mustafa on Remove VirtualBox from Ubuntu 16.04 Xenial
  5. Pourya on How to Manually Install Java 8 on Ubuntu 18.04 LTS

Copyright © 2025 · Magazine Pro on Genesis Framework · WordPress · Log in