Tambien puedes hacer esto de una manera mas ordenada:
Código:
Global conexion As ADODB.Connection
Global registro As ADODB.Recordset
Public Sub abre_conexion()
On Error GoTo ASP:
Set conexion = New ADODB.Connection
conexion.Open nombredsn
ASP:
If Err.Number <> 0 Then
MsgBox "Error al conectarse por medio de ADO con el Servidor de Base de Datos. Asegurese que el Servidor este encendido y que la red este habilitada asi como de tener los permisos de usuario suficientes para realizar la conexion. Si es imposible conectarse con el Servidor de Base de Datos no podra utilizar el programa. Si el problema persiste consulte con el proveedor del software. El programa saldra de ejecución", vbCritical, "Colegio Dr. Emilio Garcia Uzcategui"
End
End If
End Sub
Public Sub cierra_conexion()
On Error GoTo ASP:
conexion.Close
Set conexion = Nothing
ASP:
If Err.Number <> 0 Then
MsgBox Err.Description, vbCritical, "Error al cerrar conexion con la base de datos"
End
End If
End Sub
Public Sub Abre_registro()
On Error GoTo ASP:
Set registro = New ADODB.Recordset
registro.ActiveConnection = conexion
ASP:
If Err.Number <> 0 Then
MsgBox Err.Description, vbCritical, "Error al abrir un set de Registros"
End
End If
End Sub
Public Sub cierra_registro()
On Error GoTo ASP:
registro.Close
Set registro = Nothing
ASP:
If Err.Number <> 0 Then
MsgBox Err.Description, vbCritical, "Error al cerrar un set de Registros"
End
End If
End Sub
y solo tienes que llamar a las funciones abre_conexion, abre_registro (para cuando se dese ejecutar un select) y al final cierra_registro y cierra_conexion
La funcion abre_conexion utiliza una variable llamada "nombredsn", esa variable debe contener el nombre del dsn creado referenciando a la base de datos
Cualquier cosa avisas