Visual Basic - coneccion ado

Life is soft - evento anual de software empresarial
 
Vista:

coneccion ado

Publicado por sergio merlo (34 intervenciones) el 12/01/2012 06:36:46
Option Explicit

'Variable Connection Global para usar
'en todo el programa
Public Conn1 As adodb.Connection


'aqui arranca el programa
Sub Main()
'primero habro la conexion a la base de datos
'creo un nuevo objeto conexion
Set Conn1 = New Connection

'SI USO PROVIDER OLEDB
'indico proveedor de datos a usar
Conn1.Provider = "Microsoft.Jet.OLEDB.4.0"
'abro la base
Conn1.Open App.Path & "\prueba.mdb", "admin", ""
form1.Show
End Sub





Private Sub Command1_Click()
Set rs1 = New adodb.Recordset
rs1.Open "select * from proveedor", Conn1, adOpenDynamic, adLockOptimistic

rs1.MoveFirst
Do While Not rs1.EOF
Debug.Print "Nombre:" & rs1!codigo & "Nombre: " & rs1!nombre & vbCr
rs1.MoveNext
Loop
End Sub

Private Sub Form_Load()
Dim rs1 As adodb.Recordset
Set Conn1 = New adodb.Connection
End Sub


al ejecutar el programa se interrumpe en :
rs1.Open "select * from proveedor", Conn1, adOpenDynamic, adLockOptimistic
y me da el sigiente mensaje: no se puede utilizar la coneccion para realizar esta operacion. Esta cerrada o no es valida en este contexto.

por favor ayuda.
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

coneccion ado

Publicado por kdlc (226 intervenciones) el 13/01/2012 19:25:58
Option Explicit
Public Conn1 As adodb.Connection
Public rs1 As adodb.Recordset

Sub Main()
Set Conn1 = New ADODB.Connection
Conn1.Provider = "Microsoft.Jet.OLEDB.4.0"
Conn1.Open App.Path & "\prueba.mdb", "admin", ""
form1.Show
End Sub

Private Sub Form_Load()
Set Conn1 = New adodb.Connection <-- QUITA ESTA LINEA 'Ya iniciaste este objeto en el main sub
End Sub

Private Sub Command1_Click()
Set rs1 = New adodb.Recordset
rs1.Open "select * from proveedor", Conn1, adOpenDynamic, adLockOptimistic
rs1.MoveFirst
Do While Not rs1.EOF
Debug.Print "Nombre:" & rs1!codigo & "Nombre: " & rs1!nombre & vbCr
rs1.MoveNext
Loop
set rs1 = nothing
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar