Bueno, pues resulta que ejecuto la sql para hacer el recordset, pero me sale que uno de los campos del recordset esta vacio...pero en realidad si que tiene valor
me estoy comiendo la cabeza, pero no saco porque puede ser
Expón exactamente el código a ver que falla, puede ser que la sentencia esté mal escrita o no estés guardándola correctamente.
¿Es en vb? prueba a abrir la base de datos con el access (si es que usas visual basic) o con el winmysqlmyadmin o como se llame este y ejecuta la consulta a ver si funciona o no
es en VB de Access al intentar sacar un dato de tipo texto, me salen todos los demas campos del recordset menos ese
sql = "SELECT * FROM anagrafica_orario WHERE matricola ='" & cd & "' AND Volontà1<> '""' OR Contr2<>'""' OR Volontà3<> '""'"
Set rs3 = db.OpenRecordset(sql)
rs3.MoveFirst
If IsNull(rs3.Fields("Volontà3")) Then
lblvol3.Caption = ""
lblatt3.Caption = ""
lblres3.Caption = ""
Else
lblvol3.Caption = rs3.Fields("Volontà3")
lblatt3.Caption = rs3.Fields("Attitudine3")
lblres3.Caption = rs3.Fields("Resp3") 'AQUI ES EL PROBLEMA
End If
a mi personalmente la función IsNull me suele dara fallos, asi que utilizo Nz, que es menos ortodoxo pero me fio bastante más.
If Nz(rs3.Fields("Volontà3"),0) = 0 Then
prueba tb con esta SQL:
sql = "SELECT * FROM anagrafica_orario WHERE (matricola ='" & cd & "') AND ((Volontà1 IS NOT NULL) OR (Contr2 IS NOT NULL) OR (Volontà3 IS NOT NULL) )
PD: no he probado los códigos ni la sql, lo he hecho de memoria, si esta mal lo siento.