Localização de registros > Localização de registros com valores iguais em campos diferentes
 
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:
1. 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.
2. 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.
3. Adicione o campo de cálculo (CompararCampos) ao layout.
Consulte Inserção e remoção de campos em um layout.
4. 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:
1. Crie um script.
Consulte Criação e edição de gráficos.
2. 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").
Ir para layout ["Meu layout" (Tabela) ]
Mostrar todos os registros
Ir para registro/solicitação/página [Primeiro]
Loop
If [ Tabela::CampoA = Tabela::CampoB ]
Ir para registro/solicitação/página [ Próximo; Sair depois do último: Ativado ]
Else
Omitir registro
End If
End Loop
3. 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.