Professional forum and technical support for computerIT pros for Microsoft Access Modules VBA Coding. Includes problem solving collaboration tools. Explains why you can write better MS Access VBA code using this code vba addin. This article shows how to avoid the common error when MS Access executes crosstable update queries. Experts Exchange Questions How can I create a table from Active Directory using VBA and MS Access. Re VBA Transfer data from Excel to Access Please do not post questions in threads started by other members. Start your own thread, give it an accurate and concise. Open recordset in Access 2. If you declare just a Recordset without specifying if its DAO or ADO, Access will decide on its own whether it will be DAO or ADO, depending on the order of your references Open a code window, go to Tools References, and look at the list there. It will look something like that You see that in this example, there is a reference on DAO Microsoft DAO 3. Object Library and ADO Microsoft Active. X Data Objects 2. Library. If you declare your Recordset without specifying the type, Access picks the first of these references the one thats more on top of the list and creates a Recordset of this type. So in this example, it will be a DAO. Recordset. Now back to your question You declare your Recordset without specifying the type. So if the first reference in your Access database is ADO, Access will create an ADODB. Recordset. Then you open it with a DAO method, which expects a DAO. Recordset, and thats why you get the error. Windows 8 And Office 13 Activator True. There are two ways to solve your problem Make sure that your Access database only has a reference to ADO or DAO but not both, then you dont need to specify the type of the recordset. If you really need both references, always declare your recordsets as DAO. Recordset or ADODB. Recordset to make sure that its really of the type that your code expects. Access Vba Recordset Update Table Access© 2017