Olá pessoas!!!
Seguinte, tenho um forms com varias lovs em vários campos... Preciso que ao entrar no forms, esses campos venham preenchidos com o primeiro item da lov...
Tem como fazer isso sem uma "engenharia alternativa", como um set qualquer coisa ou algo do tipo? Não posso deixar com valores fixos!
Thanks!!
[]'s
LOV - recuperar o primeiro valor
-
- Moderador
- Mensagens: 367
- Registrado em: Ter, 25 Mar 2008 3:41 pm
- Localização: Salvador - BA
Rodrigo Valentim
Analista de Sistemas
Oracle Developer
Campanha: Faça uma pesquisa antes de perguntar!!!
Analista de Sistemas
Oracle Developer
Campanha: Faça uma pesquisa antes de perguntar!!!
Acredito que não seja possível fazer esse tipo de ação... tendo em vista que os valores da lov vem do banco e esses só são populados na lov quando você dispara a lov (do_key ou f9).
O que você pode fazer é, criar o record_group (create_group) de forma dinamica, ou seja, via linha de código e então aproveitar o código sql para fazer sua consulta inicial.
ex:
Ok. Essa é a rotina padrão... o que você pode fazer é aproveitar a query dessa rotina e criar um select para você popular seus campos com os valores da query (que é igual a da lov).
Outro exemplo mais "fácil" é você no post_query fazer vários cursores com o mesmo sql da lov e popular todos os campos...
Se é isso que você chama de Engenharia alternativa, então... já foi!
O que você pode fazer é, criar o record_group (create_group) de forma dinamica, ou seja, via linha de código e então aproveitar o código sql para fazer sua consulta inicial.
ex:
/*
** Built-in: CREATE_GROUP
** Example: Criando record group e populando ele com valores
** da query
*/
DECLARE
rg_name VARCHAR2(40) := 'Salary_Range';
rg_id RecordGroup;
gc_id GroupColumn;
errcode NUMBER;
BEGIN
/*
** tenha certeza que o grupo já não existe.
*/
rg_id := Find_Group(rg_name);
/*
** se ele não existir, você cria e adiciona colunas
** no exemplo só coloco 2 colunas
*/
IF Id_Null(rg_id) THEN
rg_id := Create_Group(rg_name);
/* adicionando 2 colunas */
gc_id := Add_Group_Column(rg_id, 'Base_Sal_Range',
NUMBER_COLUMN);
gc_id := Add_Group_Column(rg_id, 'Emps_In_Range',
NUMBER_COLUMN);
END IF;
/*
** populando grupo usado pela lov me baseando em query
*/
errcode := Populate_Group_With_Query( rg_id,
'SELECT SAL-MOD(SAL,1000),COUNT(EMPNO) '
||'FROM EMP '
||'GROUP BY SAL-MOD(SAL,1000) '
||'ORDER BY 1');
END;
Outro exemplo mais "fácil" é você no post_query fazer vários cursores com o mesmo sql da lov e popular todos os campos...
Se é isso que você chama de Engenharia alternativa, então... já foi!
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 13 visitantes