Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
Problemas con default_where
Enviado por JAx el día 14 de junio de 2006
Hola a todos,
tengo el siguiente codigo
-----------------------
declare
etiqueta varchar2(20);
begin
etiqueta:=get_item_property('vertodo',label);
if etiqueta like 'Todos mis productos' then
set_block_property('productos',default_where,' ');
set_item_property('vertodo',label,'Del proveedor');
go_item('productos.codigo');
else
set_block_property('productos',default_where,'proveedor=:proveedores.cif');
set_item_property('vertodo',label,'Todos mis productos');
go_item('productos.codigo');
end if;
execute_query;
end;
--------------------------------------
el problema es que no me hace bien la consulta, me sale siempre lo mismo, tengo otros productos que pertenecen a otro proveedor, debería de salir los del proveedor que tengo seleccionado, o TODOS, no? con
el defaul_where = ' ' . ¿Por qué no funciona?
Sucede muchas veces que interactuar con variables en tiempo de ejecucion, sobre todo a asignar valores usando el Set_Item_Property trae sus problemas..
Te recomiendo, usar variables, donde dependiendo de la opcion, guardes el valor del Where del Bloque, usando tu mismo codigo, te lo mostrare
begin
etiqueta:=get_item_property('vertodo',label);
if etiqueta like 'Todos mis productos' then
set_block_property('productos',default_where, v_todos');
set_item_property('vertodo',label,'Del proveedor');
go_item('productos.codigo');
else
v_proveedor := :proveedores.cif'
set_block_property('productos',default_where,v_proveedor);
set_item_property('vertodo',label,'Todos mis productos');
go_item('productos.codigo');
end if;
execute_query;
end;