Validar datos itenchanged

tengo una sentencia

select * from suministros where cod_suministro=321 and cod_oficina=015

ahora me están pidiendo que evalúe los siguientes códigos de suministos 322,324,325 si existen en esa oficina y si no existen que me arroje un mensaje cual de ellos no existen por ejemplo si existe el 322 que me arroje un mensaje diciendo que no existe 324,325

gracias

Respuesta
1

Favor de compartir el código que ya tengas desarrollado.

el código es el que te planteo el

select * from suministros where cod_suministro=321 and cod_oficina=015

pero ahora me están pidiendo que evalúe los siguientes cód_suministo 322,324,325 si existen en esa oficina y si no existen que me arroje un mensaje cual de ellos no existen por

ejemplo si existe el 322 que me arroje un mensaje diciendo que no existe 324,325

gracias alguna ayuda

¿Estimado debo entender que solo esa consulta hace todo?

No insertas el resultado de un count a una variable o usas el sqlca.sqlcode para evaluar si es distinto de 0 o 100.

¿Debo preguntar si existe código (power buidler) ya desarrollado o este esta por implementarse?

mi estimado esta por implementarse la idea es esa

alguna sugerencia

Prueba este código,

int li_array[] //Asumiendo que cod_suministro es integer
int li_aux,li_count = 0
long ll_sqlcode = 0
string ls_mensaje //almacenaremos los que no tengan registros
// carga datos al array 
li_array[1]=322
li_array[2]=324
li_array[3]=325
for li_aux=1 to upperbound(li_array[]) // upperbound te da la cantidad del array 
 // proceso de validacion 
 li_count = 0
 ll_sqlcode = 0
 //mandamos un count para evaluar si existe data
 select count(*) into :li_count from suministros where cod_suministro= :li_array[li_aux] and cod_oficina='015';
 //preguntamnos por el sqlcode del sqlca para ver si existe algun error
 ll_sqlcode = sqlca.sqlcode
 if ll_sqlcode = 100 then //no ahi data
 ls_mensaje = trim(ls_mensaje) + string(li_array[li_aux]) + ", "
Elseif ll_sqlcode <> 0 then //error en la consulta, abandonamos la aplicacion para resolver el problema, puede ser sintaxis u otra razon
 messagebox("Error", sqlca.sqlerrtext )
 return
 exit
 elseif isnull(li_count) or li_count < 1 then //no ahi registros
 ls_mensaje = trim(ls_mensaje) + string(li_array[li_aux]) + ", "
 end if
next 
//Evaluamos si existe algo en la cadena
if len(trim(ls_mensaje)) > 0 then
 ls_mensaje = left(trim(ls_mensaje),len(trim(ls_mensaje))-2) //quitamos la ultima coma concatenada
 messagebox("Mensaje","No existe datos para " + ls_mensaje)
else
 messagebox("Mensaje","Todo bien!")
end if

a la espera de tus comentarios.

excelente mi estimado muy bien

sobre este código tengo otra consulta como le puedo agregar la descripción del suministro que la tengo en otra tabla llamada opera para los no cumplen con la condición

alguna sugerencia gracias

int li_array[] //Asumiendo que cod_suministro es integer
int li_aux,li_count = 0
long ll_sqlcode = 0
string ls_mensaje //almacenaremos los que no tengan registros
string ls_descripcion
// carga datos al array 
li_array[1]=322
li_array[2]=324
li_array[3]=325
for li_aux=1 to upperbound(li_array[]) // upperbound te da la cantidad del array 
 // proceso de validacion 
 li_count = 0
 ll_sqlcode = 0
 //mandamos un count para evaluar si existe data
 select count(*) into :li_count from suministros where cod_suministro= :li_array[li_aux] and cod_oficina='015';
 //preguntamnos por el sqlcode del sqlca para ver si existe algun error
 ll_sqlcode = sqlca.sqlcode
 if ll_sqlcode = 100 then //no ahi data
 select descripcion into :ls_descripcion from opera where cod_suministro= :li_array[li_aux];
 ls_mensaje = trim(ls_mensaje) + string(li_array[li_aux]) + " - " + ls_descripcion + ", "
Elseif ll_sqlcode <> 0 then //error en la consulta, abandonamos la aplicacion para resolver el problema, puede ser sintaxis u otra razon
 messagebox("Error", sqlca.sqlerrtext )
 return
 exit
 elseif isnull(li_count) or li_count < 1 then //no ahi registros
 select descripcion into :ls_descripcion from opera where cod_suministro= :li_array[li_aux];
 ls_mensaje = trim(ls_mensaje) + string(li_array[li_aux]) + " - " + ls_descripcion + ", "
 end if
next 
//Evaluamos si existe algo en la cadena
if len(trim(ls_mensaje)) > 0 then
 ls_mensaje = left(trim(ls_mensaje),len(trim(ls_mensaje))-2) //quitamos la ultima coma concatenada
 messagebox("Mensaje","No existe datos para " + ls_mensaje)
else
 messagebox("Mensaje","Todo bien!")
end if

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas