¿La operación no esta permitida si el objeto esta cerrado o abierto? DataReport

No consigo el error :'(

al hacer clic en el Command1 no hace nada!

y si cambio los Open y/o Close me arroja el error "La operación no esta permitida si el objeto esta cerradso" o "La operación no esta permitida si el objeto esta abierto"

Ayudenme, de antemano se los agradezco!

Aquí les dejo el código completo de mi formulario...

Public con As New ADODB.Connection
Public rs As New ADODB.Recordset


Private Sub Command1_Click()
If rs Is Nothing Then Exit Sub
If rs.State = adStateOpen Then
Set DataReport1.DataSource = rs
DataReport1.Show vbModal, Me
End If
End Sub


Private Sub Boton1_Click()
If Combo_Nombre.Text = "" Then
MsgBox "Debe seleccionar un nombre", vbExclamation, "Atención"
Else
Dim Fecha_Inicial As String
Dim Fecha_Final As String
Fecha_Inicial = Format(Calendar1.Value, "yyyymmdd")
Fecha_Final = Format(Calendar2.Value, "yyyymmdd")
If Fecha_Inicial > Fecha_Final Then
MsgBox "La fecha inicial no puede ser mayor que la fecha final", vbExclamation, "Atención"
Else
Scad = "Select * From registro WHERE Nombre = '" & Combo_Nombre & "' And FechaValor Between " + Fecha_Inicial + " And " + Fecha_Final + ""
ado_usu.RecordSource = Scad
ado_usu.ConnectionString = Sconexion
ado_usu.Refresh
Set MSHFlexGrid1.DataSource = ado_usu
End If
End If
End Sub


Sub Form_Load()
' Crea una nueva conexión y un recordset
Set con = New ADODB.Connection
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
con.CursorLocation = adUseClient
' abre la base de datos
con.Open "DRIVER={Microsoft Access Driver (*.mdb)};dbq=" & App.Path & "\base_datos.mdb", , "registro"
On Error GoTo MensajeError
Calendar1 = Date
Calendar2 = Date
Scad = "select * from registro"
ado_usu.RecordSource = Scad
ado_usu.ConnectionString = Sconexion
ado_usu.Refresh
Set MSHFlexGrid1.DataSource = ado_usu
Dim SQL_CODIGO As String
SQL_CODIGO = "Select * From registro "
ado_codigo.RecordSource = SQL_CODIGO
ado_codigo.ConnectionString = Sconexion
ado_codigo.Refresh
Combo_Nombre.Clear
ado_codigo.Recordset.MoveFirst
Do While Not ado_codigo.Recordset.EOF = True
Combo_Nombre.AddItem ado_codigo.Recordset.Fields(2)
ado_codigo.Recordset.MoveNext
Loop

Exit Sub
MensajeError:
MsgBox Err.Description, vbCritical, "Error Critico"
End Sub


Sub Desconectar()
If Not rs Is Nothing Then
If rs.State = adStateOpen Then rs.Close
Set rs = Nothing
End If
If Not cn Is Nothing Then
If cn.State = adStateOpen Then cn.Close
Set cn = Nothing
End If
End Sub


Private Sub Form_Unload(Cancel As Integer)
Call Desconectar
Set Form_Consultar = Nothing
End Sub

Añade tu respuesta

Haz clic para o