Tabular form - colunas de valores diferentes

Oracle Application Express - web application development tool (antigamente conhecido como Oracle HTML-DB)
Responder
Robson Costa
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 155
Registrado em: Sex, 17 Out 2008 6:05 pm
Localização: Campo Grande - MS

Olá,

Em um tabular form eu quero que um valor de uma coluna não seja igual ao de outra. Como faço isso? Já tentei por validação e não deu certo. Ou seja, se no formulário, tivemos o seguinte caso:

Col. 1 Col.2
X X

Ao clicar no submit, deve aparecer uma mensagem de erro. Só pode aceitar se a Col.2 for diferente da Col.1
arthae
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 52
Registrado em: Seg, 09 Mai 2011 1:13 pm
Localização: Porto Alegre - RS
GIVE ME COFFEE AND NO ONE GETS HURT!

Cara, não entendi muito bem a tua dúvida.

Mas creio que quando a pessoa clicar no botão Submit tu tenha que percorrer todo o bloco desde o primeiro registro até o ultimo, comparando os valores.

Para parar a aplicação tu pode usar raise_application_error ou exceções... tem varias possibilidades!
Robson Costa
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 155
Registrado em: Sex, 17 Out 2008 6:05 pm
Localização: Campo Grande - MS

Não, o que eu quero é o seguinte: o valor da Coluna 1 não pode ser igual ao valor da Coluna 2, na mesma linha.

Ou seja quando se eu digitar X para a Coluna 1 e tiver o mesmo valor X na Coluna 2 para a mesma linha da tabela, quando eu clicar no botão submit, deve aparecer uma mensagem de erro.

Ou seja:

Coluna 1 Coluna 2
X X -> mensagem de erro e não salva
Y X -> OK. Grava o registro

Isto na mesma linha da tabela, ou seja no mesmo registro. Em registros diferentes não tem problema.
paisneto
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 16
Registrado em: Qua, 05 Fev 2014 6:48 am
Localização: Portugal

bom dia,
eu não sei se entendi bem, se você colocar uma validação no campo x a dizer que ele não pode ser igual ao valor do campo y, penso que resolverá o seu problema.
Robson Costa
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 155
Registrado em: Sex, 17 Out 2008 6:05 pm
Localização: Campo Grande - MS

Oi,

Foi o que fiz pus uma validação no campo X para verificar se ele é igual ao campo Y, porém não funcionou.

Apenas o campo X é updatable. Todos os outros campos no tabular form são apenas Display as text.

Talvez o detalhe seja que no campo X ele não é um text Field, mas um select list. Este select list tem todos os valores que foram registrados no campo Y da tabela, inclusive o valor daquele registro.

Espero que com esses detalhes possam ajudar.
paisneto
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 16
Registrado em: Qua, 05 Fev 2014 6:48 am
Localização: Portugal

Boa tarde, você está a falar que isso acontece no apex, certo?
No apex crie um validation item para um dos campos do tipo pl/sql.
Robson Costa
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 155
Registrado em: Sex, 17 Out 2008 6:05 pm
Localização: Campo Grande - MS

Mas foi o que eu fiz e não dá certo.
paisneto
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 16
Registrado em: Qua, 05 Fev 2014 6:48 am
Localização: Portugal

quais são os tipos de campos que você quer comparar?
eu fiz com dois campos do tipo text e funcionou.
uma validação do tipo pl/sql error
fica aqui o código da validação

Selecionar tudo

IF : P135_X = : P135_Y  THEN
   raise_application_error (-20001,'Os valores são iguais');
END IF;
Robson Costa
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 155
Registrado em: Sex, 17 Out 2008 6:05 pm
Localização: Campo Grande - MS

Um dos campos é um select list e o outro é display as text.
paisneto
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 16
Registrado em: Qua, 05 Fev 2014 6:48 am
Localização: Portugal

Robson Costa escreveu:Um dos campos é um select list e o outro é display as text.
coloque aqui como você fez a validação, não se esqueça que no select list você tem que comparar é com o valor de retorno e não com o valor que é exibido
Robson Costa
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 155
Registrado em: Sex, 17 Out 2008 6:05 pm
Localização: Campo Grande - MS

Eu coloquei direto os campos (x <> y), sendo x a coluna com select list.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 5 visitantes