Current recordset does not support updating access 2016
Specifically test for and handle the complex data types if your code must work with databases in Access 2007 or later.
Particularly, if you: The Find-as-you-type utility contains a practical example of testing for and excluding the complex data types in the function Find As UType Load(), while ensuring the code still works in earlier versions of Access.
The hidden structure makes it harder to manage them, harder to apply criteria, harder to pass arguments, harder to determine the delimiters to use for a field, and harder to upsize since other databases like SQL Server don't use these complex types.
Eschewing the complex data types is a perfectly valid choice if you only deal with databases you created, but if you support end users or write generic utilities to work with any Access tables, you must learn to handle them.
This article highlights ten common traps with DAO recordsets in VBA code.
---------------- To connect with other databases, when working in VBA, you can use either DAO (Data Access Objects), RDO (Remote Data Objects) or ADO (Active X Data Objects).
Record Count will always be at least 1 if records exist, so there is no need to Move Last if you only want to know if you have records to work with.
A Move Next may take you to the end of the recordset (EOF) or a Move Previous to the beginning of the recordset (BOF).
When you first Open Recordset(), Access grabs the first record, and keeps processing your code while the others load.
So, if you test Record Count immediately after you Open Recordset, you typically get 0 (if there are no records), or 1 (if there are any, regardless of how many will load.) This does not apply to recordsets of type db Open Table type (the default for local tables.) If you need to know the Record Count, use the Move Last method first.