Error recordset

Hola foro, les quiero hacer una consulta, en una accin de un listobox tengo lo siguiente luego de un recordset,
Dim anioQ2A as string = str(listbox3.cell(listbox3.Listindex, 0)
If q6 <> nil and Not q6.EOF then
LabelQ2A.text = q6.field(anioQ2A).StringValue.DefineEncoding(Encodings.UTF8)
end if
funciona bien, pero si en la base de datos no existe la columna que me selecciona el listbox3 que es un string anioQ2A da error, hay alguna forma de evitar esto? gracias!

Observo que el resultado de cell() debera ser siempre texto as que es algo confuso ver el uso de str() pero eso es un ‘aparte’.

En lo medular puedes usar TryCatchException para acceder y/o manejar el error si lo hay.

Mi preferencia al implementarlo es haber extendido RecordSet creando una funcin e.g. “HasField(extends RS as RecordSet, FieldName as String) as Boolean” para asi encapsular dicho try/catch y manejar el asunto una vez globalmente.

Hola,

Cell devuelve siempre tipo string (aparte de que faltara un parntesis de cierre, en cualquier caso).

Sobre la comprobacinpuedes hacerlo “rpido y sucio” comprobando simplemente si se obtiene un recordset vlido (error en la consulta contra la base de datos); o bien utilizando la estructura TryCatchException, tal y como ya ha indicado @VaughnCordero Personalmente, optara por esta ltima.

Javier