Cita:
Empezado por ecfisa
La situación no me termina de quedar clara... Cuando el valor de la columna LITERAL es NULL, ¿ Deseas que el ítem del CheckListBox incluya algún texto como sugiere la imágen de tu primer mensaje?
|
Perdón por explicarme tan mal. Lo que quiero es que cuando haya un valor NULL en la columna literal, al cargar el CheckListBox, se asocie a Desconocida. Más que nada, y lo sabéis, si un usuario del programa ve una casilla sin descripción como en el ejemplo que subí al principio o que la etiqueta ponga NULO como sugieres, tardan 30 segundos en llamarte para preguntarte que es eso de NULO. Lo he solucionado así:
Código:
Query->Close();
Query->SQL->Text = "SELECT DISTINCT A.Situacion, "
"COALESCE(B.Literal, 'Desconocida') Literal "
"FROM Persona A "
"LEFT JOIN Instalacion B "
"ON A.Situacion = B.Valor AND B.Etiqueta = 'Situacion' "
"WHERE A.CodPrv = (SELECT Literal FROM Instalacion WHERE Etiqueta = 'Provincia')";
Query->Open();
bool lPrueba = false;
for (; !fPersona->Query->Eof; fPersona->Query->Next())
{
if (UpperCase(fPersona->Query->FieldByName("Literal")->AsString) == "DESCONOCIDA")
{
if (lPrueba)
continue;
lPrueba = true;
}
CheckListBox2->Items->Add(fPersona->Query->FieldByName("Literal")->AsString);
}