Visual Basic - Error en RecordSet

Life is soft - evento anual de software empresarial
 
Vista:

Error en RecordSet

Publicado por Renzo (2 intervenciones) el 02/12/2005 10:52:15
Hola, soy Estudiante y estoy creando un pequeño formulario el cual hace uso de un Recordset "rsalumnos" el cual capta los registros de una tabla "Alumnos" q consta de 3 campos, en el Formulario he puesto lo siguiente:

*******************************************************
Dim rsalumnos As New ADODB.Recordset
Sub limpiarcajas()
Text1 = ""
Text2 = ""
Text3 = ""
Text1.Enabled = False

End Sub
Sub grabar()
With rsalumnos
!codigo = Text1
!apellidos = Text2
!nombres = Text3
.Update
End With
End Sub

Private Sub Command1_Click()
'Nuevo
If Command1.Caption = "Nuevo" Then
Call limpiarcajas
Command2.Enabled = True
@@@ If rsalumnos.RecordCount = 0 Then @@@
Text1 = 101
Else
rsalumnos.MoveLast
Text1 = Format(rsalumnos!codigo + 1, "000")
End If
Command1.Caption = "Cancelar"
Else
'cancelar
Command2.Enabled = False 'guardar
Call limpiarcajas
Command1.Caption = "Nuevo"
End If

End Sub

Private Sub Command2_Click()
'Grabar
rsalumnos.AddNew
Call grabar
Command2.Enabled = False
MsgBox "REgistro Guardado", 0, "aviso"
Command1.Caption = "Nuevo"
End Sub

Private Sub Form_Load()
'rsalumnos.Open "alumnos", CN, adOpenKeyset, adLockOptimistic
Command2.Enabled = False
End Sub

**********************************************************************

Y enel Modulo he puesto , esto:

Public CN As New ADODB.Connection
Public rsalumnos As New ADODB.Recordset

Sub MAIN()
CN.Open "Provider=sqloledb;Data Source=(local);initial catalog=Northwind;user id=sa;"
CN.CursorLocation = adUseClient
rsalumnos.Open "alumnos", CN, adOpenKeyset, adLockOptimistic

Form4.Show

End Sub

*********************************

Cuando ejecuto pongo los datos correspondientes en las cajas de Texto pero al final me sale :

"LA OPERACION NO ESTA PERMITIDA SI EL OBJETO ESTA CERRADO" marcando de amarillo la seccion de codigo q yo he marcado aqui con @@@

Por favor espero una ayuda.
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

RE:Error en RecordSet

Publicado por ivan (463 intervenciones) el 02/12/2005 19:25:19
Al intentar obtener el RecordCount de un objeto, éste tiene que estar abierto...

Para verificar si acaso un objeto RecordSet está abierto o no... prueba con la propiedad state, yo la uso asi

If Rs.State then
está abierto
Else
está cerrado
End If

Espero esto te sirva... Saludos
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