Localização de registros com valores iguais em campos diferentes
Você pode encontrar registros nos quais diferentes campos em um registro têm o mesmo valor. Por exemplo, se quiser encontrar todos os pedidos para os quais o valor pago é o mesmo do que o valor cobrado. Use um campo de cálculo ou loop em um script para comparar os valores dos dois campos em cada registro.
Para localizar registros com valores iguais usando um campo de cálculo:
- Na tabela que contém os campos que você deseja comparar, crie um campo de cálculo com tipo de resultado Número. Consulte Definição de campos de cálculo.
Por exemplo, crie um campo de cálculo chamado CompararCampos.
- Na caixa de diálogo Especificar cálculo, insira uma expressão que compare os dois campos.
Por exemplo, a expressão
CampoA = CampoB
define o campo CompararCampos como 1 apenas se os dois campos tiverem o mesmo valor. Caso contrário, o valor de CompararCampos será 0. - Adicione o campo de cálculo (CompararCampos) ao layout.
- Inicie uma solicitação de busca, digite
1
no campo de cálculo (CompararCampos) e clique em Realizar busca.Consulte Como fazer uma solicitação de busca.
O conjunto encontrado é composto por todos os registros para os quais o campo de cálculo CompararCampos for igual a 1, ou seja, todos os registros nos quais o CampoA tenha o mesmo valor do que o CampoB.
Para localizar registros com valores iguais usando um script:
- Crie um script.
Consulte Criação e edição de scripts.
- Adicione as seguintes etapas ao script, em que Tabela::CampoA e Tabela::CampoB forem os dois campos que você deseja comparar em um layout específico (nesse caso, "Meu layout").Copiar
Ir para layout ["Meu layout" (Tabela) ]
Mostrar todos os registros
Ir para registro/solicitação/página [Primeiro]
Loop [ Liberar: Sempre ]
If [ Table::CampoA = Table::CampoB ]
Ir para registro/solicitação/página [ Próximo; Sair depois do último: Ativado ]
Else
Omit Record
End If
End Loop - Execute esse script.
O script mostra todos os registros e vai para o primeiro registro. Em seguida, para cada registro, ele compara os dois campos e omite os registros nos quais CampoA não é igual ao CampoB.
Nota Em vez de usar um sinal de igual no campo de cálculo, ou na etapa de script if acima, você pode usar qualquer operador de comparação ou operador lógico para comparar campos. Por exemplo, use Tabela::CampoA > Tabela::CampoB
para encontrar registros nos quais CampoA seja maior do que CampoB. Consulte Operadores de comparação e Operadores lógicos.