Error 3265 en tiempo de ejecución. No se encontró ...

Estimado amigo. Resulta que tengo una tabla que tengo una 2 atributos que forman parte de otras tablas, en las cuales, cada uno de ellos es clave.
Hago el ingreso del Voluntario, luego en los otros forms hago el ingreso ya sea como Dador o Socio, y en estos forms tengo un text que toma la clave de Voluntario así actualizo la tabla de Voluntarios agregando cada uno de estos campos. Ahora... Lo que quiero hacer es que me muestre en un formulario todos los datos, incluidas los atributos de NumSocio o NumDador, con una condición de igualdad, Osea, que en el text que tengo asignado por ejemplo para NumDador, o NumSocio, me los muestre para ese Voluntario en particular.
Ej:
NumVoluntario = 1
NumSocio = 10
NumDador = Nada
ApeVol = Perez
NomVol = Juan
FNacVol = 20/05/1983
TipoDocumento = DNI
NumDocumento = 23654897
DomicilioParticular = Azcuenaga 32
TelefonoParticular = 321123123
Celular = 345345
 EMail = perezjuan@yahoo.com.ar
Profesion = Ninguna
Y eh hecho esta porción de código para que me ingrese en la caja de texto en número de socio de esta tabla donde el Numero de Voluntario sea igual al text donde me muestra el número de Voluntario, y me tira el siguiente error:
Error '3265' en tiempo de ejecución: No se encontró el elemento en la colección que corresponde con el nombre o el ordinal pedido.
y me marca esta línea como la del error:
If Not IsNull(rstVolS!NumSocio) <> False Then
Este es el código armado (para que me muestre el número de Socio de ese Voluntario):
Private Sub Form_Load()
    Dim CadenaSocio As String
     Dim rstVolS As ADODB.Recordset ' Voluntario que a su vez es Socio
     AbrirBase
     Mostrar
     Set rstVolS = New ADODB.Recordset
     CadenaSocio = "SELECT NumSocio FROM VOLUNTARIOS WHERE NumVoluntario = '" & txtModVoluntario(0).Text & "'"
    Base.Execute (CadenaSocio)
    If Not IsNull(rstVolS!NumSocio) <> False Then
    txtNumSocio.Text = rstVolS!NumSocio
        Else
        txtNumSocio.Text =0
    End If
    rstVolS.Close
    Set rstVolS = Nothing
Bueno amigo espero puedas ayudarme. Muchas gracias!

1 respuesta

0
Respuesta de
Hola
Mira quizás pueda ser que el recordset este vacío entonces estas preguntando a la nada.
despues del base.execute, a veces e conveniente preguntar
if rstvolS.eof then ' esto es si el recordset esta vacio
if rstvolS.eof = false then ' esto es si el recordset tiene uno o mas datos
y ahi seguis con tu instrucción, entonces te permite si esta vacio poner un cartel de que no se encontro el voluntario y es otro control de validación muy importante.
Saludos
Leandro
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje