PORFAVOR, HELME....ENVIO UN CODIGO...PRESENTA ERROR DE BOF Y EOF QUE PUEDO HACER....

ONOFRE
17 de Febrero del 2004
SI ALGUIEN ME PUEDE AYUDAR, ME MARCA ERROR EOF O BOF, EL REGISTRO ACTUAL SE ELIMINO O EL VALOR DE BOF O EOF ES TRUE...COMO LO SOLUCIONO Y POR QUE ME PASA ESTO....

Private Sub List1_Click()
On Error GoTo Error1
'Dim Clave As String
Dim clave1 As String
'Dim Mensaje, Estilo, Título, Respuesta
Text1.Text = List1.Text
List1.Visible = False
Clave = Text1.Text
' abro la base de datos
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 & "'"
'rst
Set rst = cn.Execute(Busca)

If Clave = rst!cmnusr Then
Text6.Text = rst!cmninv
guarda1 = Text6.Text
Text2.Text = "COMPUTADORA"
Text2.Enabled = False
Text8.Text = rst!cmfmto
Text12.Text = rst!cmcvdp
clv2 = Text12.Text
b2 = "select * from departamento where dpcvdp ='" & clv2 & "'"
Set rst1 = cn.Execute(b2)
Text12.Text = rst1!dpnodp
clv3 = rst1!dpcvae
b3 = "select * from area where aecvae ='" & clv3 & "'"
Set rst2 = cn.Execute(b3)
Text13.Text = rst2!aenoma
b4 = "select * from encargado where ecnusr ='" & Clave & "'"
Set rst4 = cn.Execute(b4)
Text14.Text = rst4!ecnoec

Else
If Clave = rst!mnnsmt Then
m = True
Text6.Text = rst!mnninv
Text2.Text = "MONITOR"
Text8.Text = rst!mnfmto
Text14.Text = rst!mnnusr
clv1 = Text14.Text
b1 = "select * from encargado where ecnusr ='" & clv1 & "'"
Set rst1 = cn.Execute(b1)
Text14.Text = rst1!ecnoec
b2 = "select * from computadora where cmnusr='" & clv1 & "'"
Set rst2 = cn.Execute(b2)
Text12.Text = rst2!cmcvdp
clv2 = Text12.Text
b3 = "select * from departamento where dpcvdp='" & clv2 & "'"
Set rst3 = cn.Execute(b3)
Text12.Text = rst3!dpnodp
Text13.Text = rst3!dpcvae
clv3 = Text13.Text
b4 = "select * from area where aecvae='" & clv3 & "'"
Set rst4 = cn.Execute(b4)
Text13.Text = rst4!aenoma

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

clv3 = Text13.Text
b4 = "select * from area where aecvae='" & clv3 & "'"
Set rst4 = cn.Execute(b4)
Text13.Text = rst4!aenoma

Else
If Clave = rst!swnusr Then
W = True
Text6.Text = rst!swninv
Text2.Text = "SWITH"
Text8.Text = rst!swfmto
Text12.Text = rst!swubic
Text13.Text = rst!swubic
Text14.Text = "PERSONAL DE SISTEMAS"
Set cn = Nothing
Set rst = Nothing
End If
'cerre swith

Set cn = Nothing
Set rst = Nothing
Set rst1 = Nothing
Set rst2 = Nothing
Set rst3 = Nothing
Set rst4 = Nothing
End If
'cerre impresora
Set cn = Nothing
Set rst = Nothing
Set rst1 = Nothing
Set rst2 = Nothing
Set rst3 = Nothing
Set rst4 = Nothing
End If
'cerre monitor

Set cn = Nothing
Set rst = Nothing
Set rst1 = Nothing
Set rst2 = Nothing
Set rst3 = Nothing
Set rst4 = Nothing
Set rst5 = Nothing
End If
'cerre pc

Exit Sub
Error1:
Set cn = Nothing
Set rst = Nothing
Set rst1 = Nothing
Set rst2 = Nothing
Set rst4 = Nothing
MsgBox ("La operación Generó algunos Errores" & Err.Description)
End Sub

SOLE
17 de Febrero del 2004
Puede saltar ese error en varios lados porque puede ser en cualquier recordset...
Pero me parece que el problema está en que cuando haces la primera consulta multitabla, alguno de los campos que usas después para buscar en las otras tablas debe ser vacío o null, y por eso no te devuelve nada...y da error cuando preguntás por el valor de un recorset vacío...
Probá poner en la primera consulta una union de tablas en vez de una consulta multitabla (si querés más detalles de como hacerlo, poneme los campos de las bases de datos y te armo la consulta SQL)...

onofre
17 de Febrero del 2004
SON LAS CUATRO TABLAS QUE MANDO A LLAMAR QUE TIENEN ESTE PROBLEMA DE BOF Y EOF....ME QUIERO RENDIR...

onofre
17 de Febrero del 2004
SON LAS CUATRO TABLAS QUE MANDO A LLAMAR QUE TIENEN ESTE PROBLEMA DE BOF Y EOF....ME QUIERO RENDIR...

ONOFRE
17 de Febrero del 2004
omnusr-omequi-omnord-omfent-omtmto--omfsal-omctlf-omalia- ommtom- ommnto- omreal (estos son los campos de la tabla que quiero mostrar, los que capturo o genero) y los campos de las otras tablas de donde extraigo información son:
DISEÑO LÓGICO DE LA BASE DE DATOS

A continuación se presenta el diagrama lógico o modelo lógico de la base de datos, las entidades que lo conforman y las relaciones existentes entre las entidades.
tabla departamento(dpcvdp,dpnodp,dpcvae)
area(aecvae,aenoma) encargado(eccvec,ecnoec,ecnusr)
cmcvdp
cmdesc
cmnsis
cmproc
cmvprc
cmtred
cmtson
cmtvid
cmninv
cmmrca
cmmode
cmcdis
cmmria
cmfins
cmintr
cmdtip
cmnbpc
cmgptb
cmbaja
cmmnto
cmfmto
)
impresora(imnsim
immrca
immode
imfins
imtprt
imnusr
imbaja
immnto
imninv
imfmto

y como son tantas te envio la de ordenesmantto la tabla en donde hago mostrar los datos de area, depto, y el tipo de equipo, computadora, monitor, impresora que es (omnusr
omnord
omfent
omfsal
ommnto
omtmto
omalia
ommtom
omactl
omctlf
omtieq

)
)