Error "3021" no hay ningun registro activo
Que tal como estan mi problema es que al querer agregar un registro nuevo me marca ese error el 3021 que creo que a muchos les a salido tambien me sale al darle con un command button que es el move last me salel el mismo error estoy usando un data control porfavor necesito que me ayuden ya que apenas estoy empesando con esto de la progrmacion porfavor este es el codigo que tengo y me marca el
""datnum.Recordset.MoveLast""
error en Public Edito As Boolean
Private Sub Command1_Click()
If Not datnum.Recordset.BOF() Then
datnum.Recordset.MovePrevious
End If
End Sub
Private Sub Command2_Click()
If Not datnum.Recordset.EOF() Then
datnum.Recordset.MoveNext
End If
End Sub
Private Sub Command3_Click()
datnum.Recordset.MoveFirst
End Sub
Private Sub Command4_Click()
datnum.Recordset.MoveLast
End Sub
Private Sub mnuBorrar_Click()
resp = MsgBox("Esta Seguro de que Desea Eliminarlo", vbYesNo)
If resp = vbYes Then
datnum.Recordset.Delete
Else
Numero.Text = ""
Nombre.Text = ""
Apellido.Text = ""
Fecha.Text = ""
Estado.Text = ""
Curp.Text = ""
Numhijos.Text = ""
Direccion.Text = ""
Municipio.Text = ""
Telefono.Text = ""
Codigo.Text = ""
Email.Text = ""
End If
If resp = vbNo Then
Resume Next
End If
End Sub
Private Sub mnuEditar_Click()
Edito = True
checaesto False, True
End Sub
Private Sub mnuGuardar_Click()
If Edito = False Then
datnum.Recordset("NumerodeEmpleado") = Int(Numero.Text)
Else
resp = MsgBox("Esta Seguro de que Desea Actualizarlo", vbYesNo)
If resp = "vbNo" Then
GoTo saliR
Else
datnum.Recordset.Edit
End If
End If
datnum.Recordset("Nombre") = Nombre.Text
datnum.Recordset("Apellido") = Apellido.Text
datnum.Recordset("Fecha") = Fecha.Text
datnum.Recordset("EstadoCivil") = Estado.Text
datnum.Recordset("Curp") = Curp.Text
Numhijos.Text = "0"
datnum.Recordset("NumerodeHijos") = CInt(Numhijos.Text)
datnum.Recordset("Direccion") = Direccion.Text
datnum.Recordset("Munisipio") = Municipio.Text
datnum.Recordset("Telefono") = Telefono.Text
datnum.Recordset("CodigoPostal") = Codigo.Text
datnum.Recordset("Email") = Email.Text
datnum.Recordset.Update
MsgBox "Se Actualizó Base de Datos", vbInformation, "Actualizacion de Datos"
checaesto False, False
saliR:
End Sub
Private Sub mnuNuevo_Click()
Edito = False
datnum.Recordset.MoveLast
datnum.Recordset.AddNew
checaesto True, True
End Sub
Public Sub checaesto(arg1 As Boolean, arg2 As Boolean)
' Arg1 limpia controles de Captura
' Arg2 habilita controles de Captura
If arg1 Then
Numero.Text = ""
Nombre.Text = ""
Apellido.Text = ""
Fecha.Text = ""
Estado.Text = ""
Curp.Text = ""
Numhijos.Text = ""
Direccion.Text = ""
Municipio.Text = ""
Telefono.Text = ""
Codigo.Text = ""
Email.Text = ""
End If
If arg2 Then
If Edito = False Then
Numero.Enabled = True
End If
Nombre.Enabled = True
Apellido.Enabled = True
Fecha.Enabled = True
Estado.Enabled = True
Curp.Enabled = True
Numhijos.Enabled = True
Direccion.Enabled = True
Municipio.Enabled = True
Telefono.Enabled = True
Codigo.Enabled = True
Email.Enabled = True
Else
Numero.Enabled = False
Nombre.Enabled = False
Apellido.Enabled = False
Fecha.Enabled = False
Estado.Enabled = False
Curp.Enabled = False
Numhijos.Enabled = False
Direccion.Enabled = False
Municipio.Enabled = False
Telefono.Enabled = False
Codigo.Enabled = False
Email.Enabled = False
End If
End Sub
Private Sub mnuSalida_Click()
Unload Me
End Sub
Espero que me puedan ayudar
""datnum.Recordset.MoveLast""
error en Public Edito As Boolean
Private Sub Command1_Click()
If Not datnum.Recordset.BOF() Then
datnum.Recordset.MovePrevious
End If
End Sub
Private Sub Command2_Click()
If Not datnum.Recordset.EOF() Then
datnum.Recordset.MoveNext
End If
End Sub
Private Sub Command3_Click()
datnum.Recordset.MoveFirst
End Sub
Private Sub Command4_Click()
datnum.Recordset.MoveLast
End Sub
Private Sub mnuBorrar_Click()
resp = MsgBox("Esta Seguro de que Desea Eliminarlo", vbYesNo)
If resp = vbYes Then
datnum.Recordset.Delete
Else
Numero.Text = ""
Nombre.Text = ""
Apellido.Text = ""
Fecha.Text = ""
Estado.Text = ""
Curp.Text = ""
Numhijos.Text = ""
Direccion.Text = ""
Municipio.Text = ""
Telefono.Text = ""
Codigo.Text = ""
Email.Text = ""
End If
If resp = vbNo Then
Resume Next
End If
End Sub
Private Sub mnuEditar_Click()
Edito = True
checaesto False, True
End Sub
Private Sub mnuGuardar_Click()
If Edito = False Then
datnum.Recordset("NumerodeEmpleado") = Int(Numero.Text)
Else
resp = MsgBox("Esta Seguro de que Desea Actualizarlo", vbYesNo)
If resp = "vbNo" Then
GoTo saliR
Else
datnum.Recordset.Edit
End If
End If
datnum.Recordset("Nombre") = Nombre.Text
datnum.Recordset("Apellido") = Apellido.Text
datnum.Recordset("Fecha") = Fecha.Text
datnum.Recordset("EstadoCivil") = Estado.Text
datnum.Recordset("Curp") = Curp.Text
Numhijos.Text = "0"
datnum.Recordset("NumerodeHijos") = CInt(Numhijos.Text)
datnum.Recordset("Direccion") = Direccion.Text
datnum.Recordset("Munisipio") = Municipio.Text
datnum.Recordset("Telefono") = Telefono.Text
datnum.Recordset("CodigoPostal") = Codigo.Text
datnum.Recordset("Email") = Email.Text
datnum.Recordset.Update
MsgBox "Se Actualizó Base de Datos", vbInformation, "Actualizacion de Datos"
checaesto False, False
saliR:
End Sub
Private Sub mnuNuevo_Click()
Edito = False
datnum.Recordset.MoveLast
datnum.Recordset.AddNew
checaesto True, True
End Sub
Public Sub checaesto(arg1 As Boolean, arg2 As Boolean)
' Arg1 limpia controles de Captura
' Arg2 habilita controles de Captura
If arg1 Then
Numero.Text = ""
Nombre.Text = ""
Apellido.Text = ""
Fecha.Text = ""
Estado.Text = ""
Curp.Text = ""
Numhijos.Text = ""
Direccion.Text = ""
Municipio.Text = ""
Telefono.Text = ""
Codigo.Text = ""
Email.Text = ""
End If
If arg2 Then
If Edito = False Then
Numero.Enabled = True
End If
Nombre.Enabled = True
Apellido.Enabled = True
Fecha.Enabled = True
Estado.Enabled = True
Curp.Enabled = True
Numhijos.Enabled = True
Direccion.Enabled = True
Municipio.Enabled = True
Telefono.Enabled = True
Codigo.Enabled = True
Email.Enabled = True
Else
Numero.Enabled = False
Nombre.Enabled = False
Apellido.Enabled = False
Fecha.Enabled = False
Estado.Enabled = False
Curp.Enabled = False
Numhijos.Enabled = False
Direccion.Enabled = False
Municipio.Enabled = False
Telefono.Enabled = False
Codigo.Enabled = False
Email.Enabled = False
End If
End Sub
Private Sub mnuSalida_Click()
Unload Me
End Sub
Espero que me puedan ayudar
Nombre de la constante:
adErrNoCurrentRecord
Número error:
3021
0x800A0BCD
Descripción:
Either BOF or EOF is True, or the current record has been deleted; the operation requested by the application requires a current record.
¡Ala, traduce!
Dice más o menos:
O BOF o EOF son verdadero (o sea, que estás al principio o al final del Recordset) o el registro actual se ha borrado; la operación solicitada necesita el registro actual.
Si borras un registro, inmediatamente después, debes moverte a otro, anterior, próximo, primero o último.
Tras borrar el registro pon en la siguiente lÃnea xxx.MoveLast, por ejemplo. Asà habrá un registro, salvo que fuera el único el que se ha borrado, que también podrÃa ocurrir. Para evitar que sea el único registro de la tabla yo siempre comienzo las tablas con un primer registro que no "cuadre" con ninguna búsqueda a fin de que no se pueda borrar y siempre exista, de esta forma nunca estará la tabla totalmente vacÃa. También hay otras formas de hacerlo. El caso es que no te quedes sin registros.
adErrNoCurrentRecord
Número error:
3021
0x800A0BCD
Descripción:
Either BOF or EOF is True, or the current record has been deleted; the operation requested by the application requires a current record.
¡Ala, traduce!
Dice más o menos:
O BOF o EOF son verdadero (o sea, que estás al principio o al final del Recordset) o el registro actual se ha borrado; la operación solicitada necesita el registro actual.
Si borras un registro, inmediatamente después, debes moverte a otro, anterior, próximo, primero o último.
Tras borrar el registro pon en la siguiente lÃnea xxx.MoveLast, por ejemplo. Asà habrá un registro, salvo que fuera el único el que se ha borrado, que también podrÃa ocurrir. Para evitar que sea el único registro de la tabla yo siempre comienzo las tablas con un primer registro que no "cuadre" con ninguna búsqueda a fin de que no se pueda borrar y siempre exista, de esta forma nunca estará la tabla totalmente vacÃa. También hay otras formas de hacerlo. El caso es que no te quedes sin registros.