Passing an ADO Connection Object

Passing an ADO Connection Object

I’ve made a VB ActiveX DLL and defined a class and some methods to perform some database operations. I pass an ADO connection by reference to this class from the calling application.

When I try to set the ADOCommand.activeConnection to the passed in ADO connection inside one of the methods of the class, I get a runtime error 3001.

The error message says, “The application is using arguments that are of the wrong type, are out of acceptable range, or are in conflict with one another”.

I checked the ADO Connection that I passed in, and it seems fine. All the properties of connection are correct, and the connection is opened.

Instead of accepting an ADO Connection object as your parameter type, accept a Variant instead. You can immediately set the parameter to your internal ADO Connection variable, but this will let the parameter through. I’ve seen this problem a few times when using the DLL with an ASP file. Switching to a Variant took care of the problem each time, and you can always add a little error checking to make sure the right type of object is being passed in.

See also  How College Students Can Shape the Future of Tech Responsibility

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist