el problema que tengo lo describo: 
tengo un form con 13 cajas de texto y 5 option boton cada una de 
ellas son 
cargadas por los campos declarados en el recordset correspondiente a 
CPU... 
cuyo codigo es 1980, pero cuando no es CPU, es TECLADO, REGULADOR, 
MOUSE, 
etc... y ese es otro codigo, por lo tanto el filtro que carga el form 
es el 
codigo, que para CPU es 1980 y para los otros dispositivos son otros 
numeros.... por ejemplo MOUSE el codigo es 6524... cuando en la carga 
de 
las cajas de textos el recordset pasa por disco duro... lanza un 
error, 
porque no hay data de ese tipo para un MOUSE.... alli es cuando yo 
hago dos 
recordset: uno para CPU con todos sus componentes, ejemplo: ram, 
disco 
duro, tarjeta de red, cd-rom, etc. y otro para TODOS los demas 
dispositivos 
tales como, teclado, mouse, impresora, scarnner, etc... la pregunta 
es como 
muevo cada recordset segun sea el caso al desplazarme en la base de 
datos???. 
Ruben 
este es el codigo del form y del modulo....- 
'*** ESTE CODIGO VA EN EL MODULO *** 
Public Sub NavegarBD() 
Dim VarSQL As String 
Set RsBD = New Recordset 
VarSQL = "SELECT COD_CAT " & _ 
"FROM cat " & _ 
"ORDER BY COD_CAT" 
RsBD.Open VarSQL, Conectar1, adOpenForwardOnly, adLockReadOnly, 
adCmdText 
Do While Not RsBD.EOF ' **** TODOS EJEMPLO: TECLADO, MOUSE, ETC. **** 
RsBD.Close 
RsBD.Open "SELECT invequ.COD_CAT, invequ.ID_EQU, invequ.NRO_SER, 
ubica.DES_UBI, cat.DES_CAT, " & _ 
"marca.DES_MAR, mode.DES_MOD, invequ.NRO_INV, 
invequ.NRO_GRU, " & _ 
"invequ.OBS_EQU, invequ.TIP_STA " & _ 
"FROM ubica INNER JOIN (mode INNER JOIN (marca INNER JOIN " 
& _ 
"(cat INNER JOIN invequ ON cat.COD_CAT = invequ.COD_CAT) " 
& _ 
"ON marca.COD_MAR = invequ.COD_MAR) ON mode.COD_MOD = 
invequ.COD_MOD) " & _ 
"ON ubica.COD_UBI = invequ.COD_UBI " & _ 
"ORDER BY invequ.NRO_SER", Conectar1, adOpenStatic, 
adLockOptimistic 
Exit Do 
Loop 
End Sub 
Public Sub NavegarBD2() 
Dim VarSQL As String 
Set RsBD = New Recordset 
VarSQL = "SELECT COD_CAT " & _ 
"FROM cat " & _ 
"ORDER BY COD_CAT" 
RsBD.Open VarSQL, Conectar1, adOpenForwardOnly, adLockReadOnly, 
adCmdText 
Do While Not RsBD.EOF ' **** SOLO CPU... COD_CAT = 1980 **** 
RsBD.Close 
RsBD.Open "SELECT invequ.COD_CAT, invequ.ID_EQU, invequ.NRO_SER, 
ubica.DES_UBI, cat.DES_CAT, " & _ 
"marca.DES_MAR, mode.DES_MOD, invequ.NRO_INV, 
invequ.NRO_GRU, " & _ 
"invequ.OBS_EQU, invequ.TIP_STA, tabcom.TAR_RED, 
tabcom.DIR_IP, " & _ 
"tabcom.MIC_000, tabcom.CDR_000, tabcom.MEM_RAM, 
tabcom.COR_000, " & _ 
"tabcom.CAP_DIS, tabcom.O_DIS " & _ 
"FROM tabcom INNER JOIN (ubica INNER JOIN (mode INNER JOIN 
" & _ 
"(marca INNER JOIN (cat INNER JOIN invequ ON cat.COD_CAT = 
invequ.COD_CAT) " & _ 
"ON marca.COD_MAR = invequ.COD_MAR) ON mode.COD_MOD = 
invequ.COD_MOD) " & _ 
"ON ubica.COD_UBI = invequ.COD_UBI) ON tabcom.NRO_SER = 
invequ.NRO_SER " & _ 
"ORDER BY invequ.NRO_SER", Conectar1, adOpenStatic, 
adLockOptimistic 
Exit Do 
Loop 
End Sub 
'*** ESTE CODIGO VA EN FORM *** 
Private Sub CargarCampos() 
Label22.Caption = RsBD(0) 
If Label22.Caption = 1980 Then ' CODIGO DE CATEGORIA PARA MOSTRAR EL 
CPU 
' Y SUS COMPONENTES. EJEMPO: SERIAL, 
RAM, DISCO DURO, ETC. 
Frame5.Visible = True ' MUESTRA FRAME CON LAS CAJAS DE TEXTO 
Frame5.Enabled = True ' DE LOS COMPONENTES DEL CPU 
Frame11.Visible = False ' OCULTA UN FRAME CON UNA FIGURA 
Frame11.Enabled = False ' OCULTA UN FRAME CON UNA FIGURA 
NavegarBD2 ' AQUI SEGUN YO... CARGO EL OTRO 
RECORDSET 
' PERO NO ME PERMITE SEGUIR EXPLORANDO 
LA 
' BASE DE DATOS... LA PREGUNTA ES COMO 
' MOVERME EN LA BASE DE DATOS 
Else ' MUESTRA TODAS LAS CATEGORIAS. 
EJEMPLO: TECLADO, MOUSE, ETC. 
Frame5.Visible = False ' OCULTA FRAME CON LAS CAJAS DE TEXTO 
Frame5.Enabled = False ' DE LOS COMPONENTES DEL CPU 
Frame11.Visible = True ' MUESTRA UN FRAME CON UNA FIGURA 
Frame11.Enabled = True ' MUESTRA UN FRAME CON UNA FIGURA 
End If 
Text6.Text = RsBD(1) & " " ' IDENTIFICACION 
Text1.Text = RsBD(2) & " " ' SERIAL 
Text7.Text = RsBD(3) & " " ' SECCIONAL 
Text8.Text = RsBD(4) & " " ' CATEGORIA 
Text9.Text = RsBD(5) & " " ' MARCA 
Text10.Text = RsBD(6) & " " ' MODELO 
Text3.Text = RsBD(7) & " " ' NUMERO DE INVENTARIO 
Text5.Text = RsBD(8) & " " ' GRUPO 
Text4.Text = RsBD(9) & " " ' OBSERVACIONES 
Select Case RsBD(10) ' ESTATUS 
Case "ACTIVO" 
Option1.Value = True 
Option1.BackColor = &HC000& 
Option2.BackColor = &H8000000F 
Option3.BackColor = &H8000000F 
Option4.BackColor = &H8000000F 
Case "DISPONIBLLE" 
Option2.Value = True 
Option2.BackColor = &HC000& 
Option1.BackColor = &H8000000F 
Option3.BackColor = &H8000000F 
Option4.BackColor = &H8000000F 
Case "DESINCORPORADO" 
Option3.Value = True 
Option3.BackColor = &HC0& 
Option1.BackColor = &H8000000F 
Option2.BackColor = &H8000000F 
Option4.BackColor = &H8000000F 
Case "EN REPARACION" 
Option4.Value = True 
Option4.BackColor = &HC0& 
Option3.BackColor = &H8000000F 
Option2.BackColor = &H8000000F 
Option1.BackColor = &H8000000F 
End Select 
If Frame5.Visible = True Then 
Frame5.Visible = True 
Frame5.Enabled = True 
Frame11.Visible = False 
Frame11.Enabled = False 
Select Case RsBD(11) ' RED 
Case "SI" 
Option6.Value = True 
Option6.BackColor = &HC000& 
Option5.BackColor = &H8000000F 
Case "NO" 
Option5.Value = True 
Option5.BackColor = &HC0& 
Option6.BackColor = &H8000000F 
End Select 
End If 
If Frame5.Visible = True Then 
Text11.Text = RsBD(12) & " " ' IP 
End If 
If Frame5.Visible = True Then 
Select Case RsBD(13) ' MICROFONO 
Case "SI" 
Option8.Value = True 
Option8.BackColor = &HC000& 
Option7.BackColor = &H8000000F 
Case "NO" 
Option7.Value = True 
Option7.BackColor = &HC0& 
Option8.BackColor = &H8000000F 
End Select 
End If 
If Frame5.Visible = True Then 
Select Case RsBD(14) ' CD ROM 
Case "SI" 
Option12.Value = True 
Option12.BackColor = &HC000& 
Option11.BackColor = &H8000000F 
Case "NO" 
Option11.Value = True 
Option11.BackColor = &HC0& 
Option12.BackColor = &H8000000F 
End Select 
End If 
If Frame5.Visible = True Then 
Text12.Text = RsBD(15) & " " ' RAM 
End If 
If Frame5.Visible = True Then 
Select Case RsBD(16) ' CORNETAS 
Case "SI" 
Option10.Value = True 
Option10.BackColor = &HC000& 
Option9.BackColor = &H8000000F 
Case "NO" 
Option9.Value = True 
Option9.BackColor = &HC0& 
Option10.BackColor = &H8000000F 
End Select 
End If 
If Frame5.Visible = True Then 
Text13.Text = RsBD(17) & " " ' DISCO DURO 
End If 
If Frame5.Visible = True Then 
Text14.Text = RsBD(18) & " " ' OTRO DISPOSITIVO 
End If 
End Sub