Error '3705' en tiempo de ejecución : la operación no
Estimado aquí vengo con otra consulta que no puedo resolver. A ver si (como siempre) me das una mano. El problema que tengo es el siguiente:
En un modulo .Vas tengo las siguientes declaraciones de variables:
Public Const dbsR = "Base"
Public Const strDriver = "{MySQL ODBC 3.51 Driver}"
Public Const strServer = "localhost"
Public Const strUsuario = "root"
Public Const strPassward = ""
Public Const strConnect = "driver= " & strDriver & ";server=" & strServer & ";uid=" & strUsuario & ";pwd=" & strPassward & ";database=" & dbsR & ";connection="
Global rstRegistro As New ADODB.Recordset
Global Base As New ADODB.Connection
Luego creé un sub main en el cual pongo el código de apertura de la base de datos. Lo que tengo es:
Sub main()
With Base
.CursorLocation = adUseClient
.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Base;Data Source=casa-BEDFFC6F\SQLEXPRESS"' Esta _ es la línea que me da error '3705' en tiempo de ejecución : la operación no está permitida si el objeto está abierto.
frmPrincipal.Show
End With
End Sub
También tengo un procedimiento para la apertura del recordset.
Ej:
Sub Registro()
With rstRegistro
If .State = 1 Then .Close
.Open "select * from mitalbla", Base, adOpenStatic, adLockOptimistic
End With
End Sub
y. En el form _Activate del form que voy a usar el código que tengo es:
Private Sub Form_Activate()
main
Registro 'procedimiento
End Sub
¿Poruqué me tira ese error?
En un modulo .Vas tengo las siguientes declaraciones de variables:
Public Const dbsR = "Base"
Public Const strDriver = "{MySQL ODBC 3.51 Driver}"
Public Const strServer = "localhost"
Public Const strUsuario = "root"
Public Const strPassward = ""
Public Const strConnect = "driver= " & strDriver & ";server=" & strServer & ";uid=" & strUsuario & ";pwd=" & strPassward & ";database=" & dbsR & ";connection="
Global rstRegistro As New ADODB.Recordset
Global Base As New ADODB.Connection
Luego creé un sub main en el cual pongo el código de apertura de la base de datos. Lo que tengo es:
Sub main()
With Base
.CursorLocation = adUseClient
.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Base;Data Source=casa-BEDFFC6F\SQLEXPRESS"' Esta _ es la línea que me da error '3705' en tiempo de ejecución : la operación no está permitida si el objeto está abierto.
frmPrincipal.Show
End With
End Sub
También tengo un procedimiento para la apertura del recordset.
Ej:
Sub Registro()
With rstRegistro
If .State = 1 Then .Close
.Open "select * from mitalbla", Base, adOpenStatic, adLockOptimistic
End With
End Sub
y. En el form _Activate del form que voy a usar el código que tengo es:
Private Sub Form_Activate()
main
Registro 'procedimiento
End Sub
¿Poruqué me tira ese error?
1 Respuesta
Respuesta de Eduardo Saligari
2