>Open Method

Syntax

For a Connection object:

connection.Open ConnectionString, User, Password

For a Recordset object:

recordset.Open Source, ActiveConnection, CursorType, LockType, Option

The Open method syntax has these parts.

Part

Description

connection

An object variable representing an existing Connection object.

recordset

An object variable representing an existing Recordset object.

ConnectionString

Optional. A String containing connection information. See the ConnectionString property for details on valid settings.

User

Optional. A String containing a user name to use when establishing the connection.

Password

Optional. A String containing a password to use when establishing the connection.

Source

Optional. A Variant that evaluates to a valid Command object variable name, an SQL statement, a table name, or a stored procedure call.

ActiveConnection

Optional. A Variant that evaluates to a valid Connection object variable name or a String containing a definition for a connection.

CursorType

Optional. A Long expression that determines the type of cursor that the provider should use when opening the Recordset. Can be one of the following constants:

adOpenForwardOnly, 0 (Default)

adOpenKeyset, 1

adOpenDynamic, 2

adOpenStatic, 3

See the CursorType property for definitions of these settings.

LockType

Optional. A Long expression that determines what type of locking (concurrency) the provider should use when opening the Recordset. Can be one of the following constants:

adLockReadOnly, 1

adLockPessimistic, 2

adLockOptimistic, 3

adLockBatchOptimistic, 4

See the LockType property for definitions of these settings.

Option

Optional. A Long expression that indicates how the provider should evaluate the Source argument if it represents something other than a Command object. Can be one of the following constants:

adCmdUnknown, 0 - The type of command in the CommandText argument is not known.

adCmdText, 1 - Evaluate CommandText as a textual definition of a command.

adCmdTable, 2 - Evaluate CommandText as a table name.

adCmdStoredProc, 4 - Evaluate CommandText as a stored procedure.

See the CommandType property for a more detailed explanation of these constants.

Remarks

Use the Open method on a Connection object or a Recordset object to activate the object for use. When you have concluded your operations over an open Connection object or in an open Recordset object, use the Close method to free any associated system resources. Closing an object does not remove it from memory; you may change its property settings and use the Open method to open it again later. To completely eliminate an object from memory, set the object variable to Nothing.

Connection

Using the Open method on a Connection object establishes the physical connection to a data source. After this method successfully completes, the connection is live and you can issue commands against it and process results.

Use the optional ConnectionString argument to specify a Data Source Name (DSN) or a detailed connection string containing a series of parameter = value arguments separated by semicolons. If the argument contains an equal sign ("="), ADO assumes that you are providing a connection string rather than a DSN. The ConnectionString property automatically inherits the value used for the ConnectionString argument. Therefore, you can either set the ConnectionString property of the Connection object before opening it, or use the ConnectionString argument to set or override the current connection parameters during the Open method call.

For some data sources, you can use the optional User and Password arguments to override any user or password information provided in the ConnectionString parameter.

Recordset

Using the Open method on a Recordset object opens a cursor that represents records from a base table or the results of a query.

Use the optional Source argument to specify a data source using one of the following: a Command object variable, an SQL statement, a stored procedure, or a table name.

The ActiveConnection argument corresponds to the ActiveConnection property and specifies in which connection to open the Recordset object. If you pass a connection definition for this argument, ADO opens a new connection using the specified parameters.

For the arguments that correspond directly to properties of a Recordset object (Source, ActiveConnection, CursorType, and LockType), the relationship of the arguments to the properties is as follows:

Note For Recordset objects whose Source property is set to a valid Command object, the ActiveConnection property is read-only, even if the Recordset object isn't open.

If you pass a Command object in the Source argument and also pass an ActiveConnection argument, an error occurs. The ActiveConnection property of the Command object must already be set to a valid Connection object or connection string.

If you pass something other than a Command object in the Source argument, you can use the Option argument to optimize evaluation of the Source argument. If the Option argument is not defined, you may experience diminished performance because ADO must make calls to the provider to determine if the argument is an SQL statement, a stored procedure, or a table name. If you know what Source type you're using, setting the Option argument instructs ADO to jump directly to the relevant code. If the Option argument does not match the Source type, an error occurs.

If the data source returns no records, the provider sets both the BOF and EOF properties to True, and the current record position is undefined. You can still add new data to this empty Recordset object if the cursor type allows it.