forms_ddl('commit');
commit_form;
commit;
Forçar commit em um update dentro do Forms.
-
- Rank: DBA Sênior
- Mensagens: 323
- Registrado em: Qui, 21 Set 2006 10:21 am
- Localização: Barala - TT
Tenho um botão que ao ser pressionado ele faz um update em uma tabela, só que esse update não é de fato consumado por causa do commit que não funciona, já tentei com:
Simplesmente não funciona, como é para se forçar o commit dentro do Forms após o update?
-
- 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!!!
Já tentou fazer o
?
Observe se o não existe uma trigger dentro da KEY-COMMIT a nivel de item, bloco e form, caso tenha, observe o que ela faz... e veja se não é isso que está atrapalhando.
O que ocorre? Qual erro apresenta quando o botão é pressionado?
DO_KEY('COMMIT_FORM');
Observe se o não existe uma trigger dentro da KEY-COMMIT a nivel de item, bloco e form, caso tenha, observe o que ela faz... e veja se não é isso que está atrapalhando.
O que ocorre? Qual erro apresenta quando o botão é pressionado?
-
- Rank: DBA Sênior
- Mensagens: 323
- Registrado em: Qui, 21 Set 2006 10:21 am
- Localização: Barala - TT
Não dispara erro nem mensagem anormal, simplesmente não dava commit.
É bug no Forms ou no meu PC, reiniciei e atualizei o Windows e começou a funcionar com o Forms_ddl('commit').
Só que agora surgiu outra dúvida, quando faço o update, após o commit a tela do Forms continua "desatualizada" em relação ao banco, como forçar um refresh na tela nesse momento? É possível? Pois o usuário ter que utilizar F8 toda vez é inviável do ponto de vista da usabilidade da interface.
É bug no Forms ou no meu PC, reiniciei e atualizei o Windows e começou a funcionar com o Forms_ddl('commit').
Só que agora surgiu outra dúvida, quando faço o update, após o commit a tela do Forms continua "desatualizada" em relação ao banco, como forçar um refresh na tela nesse momento? É possível? Pois o usuário ter que utilizar F8 toda vez é inviável do ponto de vista da usabilidade da interface.
- dr_gori
- Moderador
- Mensagens: 5024
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Tem que fazer F8, ou pegar o GET_ITEM_PROPERTY('bloco.item', DATABASE_VALUE);
-
- 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!!!
Pyro,
Como o click do botão faz um update, a forma mais "correta" de fazer a consulta desse(s) valor(es) é fazendo uma nova consulta... você pode até aproveitar o click do botão, para depois do update ele jogar o valor que foi inserido (atualizado) na base para o campo da tela.
Não tem pra onde correr, não tem como o forms "saber" q houve um novo valor na base e é para ele consultar... inclusive, Acho que quando você for tentar fazer qualquer outro tipo de alteração na tela o forms irá dizer que os valores foram modificados por outro usuário / sessão (devido ao seu update interno) e solicitar que você faça uma consulta novamente.
Como o click do botão faz um update, a forma mais "correta" de fazer a consulta desse(s) valor(es) é fazendo uma nova consulta... você pode até aproveitar o click do botão, para depois do update ele jogar o valor que foi inserido (atualizado) na base para o campo da tela.
Não tem pra onde correr, não tem como o forms "saber" q houve um novo valor na base e é para ele consultar... inclusive, Acho que quando você for tentar fazer qualquer outro tipo de alteração na tela o forms irá dizer que os valores foram modificados por outro usuário / sessão (devido ao seu update interno) e solicitar que você faça uma consulta novamente.
-
- Rank: DBA Sênior
- Mensagens: 323
- Registrado em: Qui, 21 Set 2006 10:21 am
- Localização: Barala - TT
Certo.
Desculpe a ignorancia, mas depois que a ação do meu botão fez o update, como jogar o valor da tabela para dentro do campo do form?
Tentei a dica do colega acima mas acusa que o objeto não existe ou é inválido.
Desculpe a ignorancia, mas depois que a ação do meu botão fez o update, como jogar o valor da tabela para dentro do campo do form?
Tentei a dica do colega acima mas acusa que o objeto não existe ou é inválido.
-
- 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!!!
Tenho o seguinte modelo...
um bloco chamado blk
um botão chamado bt1
um campo chamado campo
Ex:
WHEN-BUTTON-PRESSED do bt1
um bloco chamado blk
um botão chamado bt1
um campo chamado campo
Ex:
WHEN-BUTTON-PRESSED do bt1
DECLARE
VVALOR NUMBER(10,2);
BEGIN
VVALOR := 58.87 + 38.45;
UPDATE TABELA SET VL_SEILA = VVALOR WHERE 1=1;
--
COMMIT_FORM;
--
:BLK.CAMPO := VVALOR; /*AQUI FAÇO COM QUE O VALOR CALCULADO VÁ PARA O CAMPO DA TELA*/
--
END;
- dr_gori
- Moderador
- Mensagens: 5024
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Acho que o database_value não vai adiantar nesse caso, pois conforme o manual, o database value busca o valor que foi feito FETCH e não o valor atual.pyro escreveu:Essa dica do get_item irá funcionar, contudo ao compilar o form acusa erro, fala de objeto indefinido.
Veja:
Database_Value returns the value that was originally fetched from the database
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 17 visitantes