PARA EVITAR O CORREGIR ERRORES DE EOF Y BOF

ONOFRE
16 de Febrero del 2004
HOLA....
SI PUEDES AYUDARME ESTOY DANDO DE ALTAS EN PROYECTO VB. Y NO ME DEJA GUARDAR...
PRESENTA ESTO..
El valor BOF O EOF ES TRUE, o el registro actual se elimino
la operación solicitada requiere de un registro actual. TENGO INFORMACION EN LA BASE DE DATOS, CAMBIE EL NUMERO DEL ENCARGADO QUE ES CLAVE PARA PODER DAR DE ALTA AL MISMO NUMERO PERO CON OTROS DATOS .....
SE DE QUE SE TRATAN EOF/BOF A MEDIAS....SI PUEDES DARME UN TIPS DE COMO SOLUCIONAR, O COMO EVITAR ESTOS ERRORES.....


sdemingo
16 de Febrero del 2004
Hola,
puedes poner tu código para ver cual es el problema?

[email protected]
16 de Febrero del 2004
MIRA, SDEMINGO, NECESITO DAR DE BAJA A UNA PC QUE TIENE ASIGNADA 1 MONITOR Y DOS IMPRESORAS, NO BORRANDOLAS EN REALIDAD SINO PONER LA BANDERA DE BAJAS EN SU TABLA....ESTA PC TIENE ASIGNADA UN ENCARGADO DE EQUIPO.... AHORA QUIERO ASIGNARLE A ESTE ENCARGADO OTRA PC, PERO CON LAS DOS IMPRESORAS Y EL MONITOR ANTERIOR.....
LE CAMBIE EL NUMERO DEL ENCARGADO, LE ASIGNE OTRO NUMERO Y DI DE ALTA AL ENCARGADO CON SU VERDADERO NUMERO Y OTRA PC....

OSEA EL REGISTRO DONDE ESTABA EL ENCARGADO LE MODIFIQUE LOS CAMPOS CLAVES....
HICE OTRO REGISTRO PERO CON LOS MISMOS DATOS....
TE MANDO UN POQUITO DEL CODIGO_:Dim Clave As String
Dim clave1 As String
Text1.Text = List1.Text
List1.Visible = False
Clave = Text1.Text
cn.Open "inventario", "", ""
Busca = "SELECT * FROM computadora, monitor, impresora, swith where computadora.cmnusr ='" & Clave & "' or monitor.mnnsmt ='" & Clave & "' or impresora.imnsim ='" & Clave & "' or swith.swnusr= '" & Clave & "'"
Set rst = cn.Execute(Busca)
If Clave = rst!cmnusr Then
Text8.Text = rst!cmninv
Text3.Text = "COMPUTADORA"
'Text2.Enabled = False
'Text8.Text = rst!cmfmto
Text7.Text = rst!cmcvdp
clv2 = Text7.Text
b2 = "select * from departamento where dpcvdp ='" & clv2 & "'"
Set rst1 = cn.Execute(b2)
Text7.Text = rst1!dpnodp
clv3 = rst1!dpcvae
b3 = "select * from area where aecvae ='" & clv3 & "'"
Set rst2 = cn.Execute(b3)
Text6.Text = rst2!aenoma
b4 = "select * from encargado where ecnusr ='" & Clave & "'"
Set rst9 = cn.Execute(b4)
Text9.Text = rst9!ecnoec

Mensaje = "IMPORTANTE: ¿Estás seguro de dar de baja a este equipo?"
Estilo = vbYesNo + vbCritical + vbDefaultButton2 ' Define los botones.
Título = "Mensaje de Comprobación del Número de Serie y otros datos..."
Respuesta = MsgBox(Mensaje, Estilo, Título)
If Respuesta = vbYes Then ' El usuario eligió el botón Sí.
b5 = "select * from computadora where cmnusr ='" & Clave & "'"
rst5.LockType = adLockOptimistic
rst5.CursorType = adOpenDynamic
rst5.Open b5, cn, , , adCmdText
If rst5!cmbaja <> 1 Then
rst5!cmbaja = 1
rst5.Update
MsgBox ("El equipo aparecerá dado de baja...")
Else
MsgBox ("EL EQUIPO YA ESTA DADO DE BAJA")
End If
End If

Else
If Clave = rst!mnnsmt Then
Text8.Text = rst!mnninv
Text3.Text = "MONITOR"
Text8.Text = rst!mnfmto
Text1.Text = rst!mnnusr
clv1 = Text1.Text
b1 = "select * from encargado where ecnusr ='" & clv1 & "'"
Set rst1 = cn.Execute(b1)
Text1.Text = rst1!ecnoec
b2 = "select * from computadora where cmnusr='" & clv1 & "'"
Set rst2 = cn.Execute(b2)
Text7.Text = rst2!cmcvdp
clv2 = Text7.Text
b3 = "select * from departamento where dpcvdp='" & clv2 & "'"
Set rst3 = cn.Execute(b3)
Text7.Text = rst3!dpnodp
Text6.Text = rst3!dpcvae
clv3 = Text6.Text
b4 = "select * from area where aecvae='" & clv3 & "'"
Set rst4 = cn.Execute(b4)
Text6.Text = rst4!aenoma
Mensaje = "IMPORTANTE: ¿Estás seguro de dar de baja a este equipo?"
Estilo = vbYesNo + vbCritical + vbDefaultButton2 ' Define los botones.
Título = "Mensaje de Comprobación del Número de Serie y otros datos..."
Respuesta = MsgBox(Mensaje, Estilo, Título)
If Respuesta = vbYes Then ' El usuario eligió el botón Sí.
b5 = "select * from monitor where mnnsmt ='" & Clave & "'"
rst5.LockType = adLockOptimistic
rst5.CursorType = adOpenDynamic
rst5.Open b5, cn, , , adCmdText
If rst5!mnbaja <> 1 Then
rst5!mnbaja = 1
rst5.Update

MsgBox ("El equipo aparecerá dado de baja...")
Else
MsgBox ("EL EQUIPO YA ESTA DADO DE BAJA")
End If
End If

Else
If Clave = rst!imnsim Then
Text8.Text = rst!imninv
Text3.Text = "IMPRESORA"
'Text8.Text = rst!imfmto
'Text12.Text = rst!imninv
Text1.Text = rst!imnusr
clv1 = Text8.Text
b1 = "select * from encargado where ecnusr ='" & clv1 & "'"
Set rst1 = cn.Execute(b1)
Text9.Text = rst1!ecnoec
b2 = "select * from computadora where cmnusr='" & clv1 & "'"
Set rst2 = cn.Execute(b2)
Text9.Text = rst2!cmcvdp
clv2 = Text9.Text
b3 = "select * from departamento where dpcvdp='" & clv2 & "'"
Set rst3 = cn.Execute(b3)
Text7.Text = rst3!dpnodp
Text6.Text = rst3!dpcvae

clv3 = Text6.Text
b4 = "select * from area where aecvae='" & clv3 & "'"
Set rst4 = cn.Execute(b4)
Text6.Text = rst4!aenoma
Mensaje = "IMPORTANTE: ¿Estás seguro de dar de baja a este equipo?"
Estilo = vbYesNo + vbCritical + vbDefaultButton2 ' Define los botones.
Título = "Mensaje de Comprobación del Número de Serie y otros datos..."
Respuesta = MsgBox(Mensaje, Estilo, Título)
If Respuesta = vbYes Then ' El usuario eligió el botón Sí.
b5 = "select * from impresora where imnsim ='" & Clave & "'"
rst5.LockType = adLockOptimistic
rst5.CursorType = adOpenDynamic
rst5.Open b5, cn, , , adCmdText
If rst5!imbaja <> 1 Then
rst5!imbaja = 1
rst5.Update
MsgBox ("El equipo aparecerá dado de baja...")
Else
MsgBox ("EL EQUIPO YA ESTA DADO DE BAJA")
End If
End If



Else
If Clave = rst!swnusr Then
Text6.Text = rst!swninv
Text2.Text = "SWITH"
Text8.Text = rst!swfmto
Text12.Text = rst!swubic
Text13.Text = rst!swubic
Text14.Text = "PERSONAL DE SISTEMAS"
Mensaje = "IMPORTANTE: ¿Estás seguro de dar de baja a este equipo?"
Estilo = vbYesNo + vbCritical + vbDefaultButton2 ' Define los botones.
Título = "Mensaje de Comprobación del Número de Serie y otros datos..."
Respuesta = MsgBox(Mensaje, Estilo, Título)
If Respuesta = vbYes Then ' El usuario eligió el botón Sí.
b1 = "select * from swith where swnusr ='" & Clave & "'"
rst1.LockType = adLockOptimistic
rst1.CursorType = adOpenDynamic
rst1.Open b1, cn, , , adCmdText
If rst1!swmnto <> 1 Then
rst1!swmnto = 1
rst1.Update
MsgBox ("El equipo aparecerá dado de baja...")
Else
MsgBox ("EL EQUIPO YA ESTA DADO DE BAJA")
End If


End If

End If
End If
End If
End If
Set cn = Nothing
Set rst = Nothing
Set rst1 = Nothing
Set rst2 = Nothing
Set rst3 = Nothing
Set rst4 = Nothing
Set rst5 = Nothing
'Set rstbusca = Nothing
'Text12.Text = facturaid
'rs1.Close

End Sub