Ricerca di record con valori uguali in campi diversi
È possibile cercare record in cui campi diversi hanno lo stesso valore. Ad esempio, si supponga di voler trovare tutti gli ordini per i quali l'importo pagato è uguale all'importo fatturato. Utilizzare un campo Calcolo o un ciclo in uno script per confrontare i valori dei due campi in ciascun record.
Per trovare i record con valori uguali utilizzando un campo Calcolo:
- Nella tabella contenente i campi da confrontare, creare un campo Calcolo con risultato di tipo Numero. Vedere Definizione dei campi Calcolo.
Ad esempio, creare un campo Calcolo ConfrontaCampi.
- Nella finestra di dialogo Specifica calcolo, inserire un'espressione che metta a confronto i due campi.
Ad esempio, l'espressione
CampoA = CampoB
imposta il campo ConfrontaCampi su 1 solo se entrambi i campi hanno lo stesso valore; in caso contrario, il valore di ConfrontaCampi è 0. - Aggiungere il campo Calcolo (ConfrontaCampi) al formato.
- Avviare una richiesta di ricerca, digitare
1
nel campo Calcolo (ConfrontaCampi), quindi fare clic su Esegui la ricerca.
Il gruppo trovato è composto da tutti i record per i quali il campo Calcolo ConfrontaCampi è uguale a 1, ovvero tutti i record per i quali CampoA ha lo stesso valore di CampoB.
Per trovare i record con valori uguali utilizzando uno script:
- Creare uno script.
- Aggiungere le seguenti istruzioni allo script, dove Tabella::CampoA e Tabella::CampoB sono i due campi da confrontare in un determinato formato (in questo caso, "Il mio formato").Copia
Vai al formato ["Il mio formato" (Tabella)]
Mostra tutti i record
Vai a Record/Richiesta/Pagina [Primo]
Loop [Scarica: Sempre]
If [Tabella::CampoA = Tabella::CampoB]
Vai a Record/Richiesta/Pagina [Successivo; Esci dopo l'ultimo: Attivata]
Else
Ometti il record
End If
End Loop - Eseguire lo script.
Lo script mostra tutti i record e va al primo record. Quindi, per ogni record, confronta i due campi e omette i record in cui CampoA non è uguale a CampoB.
Nota Invece di utilizzare un segno uguale nel campo Calcolo, o nell'istruzione di script If riportata sopra, è possibile utilizzare un qualsiasi operatore di confronto o logico per confrontare i campi. Ad esempio, utilizzare Tabella::CampoA > Tabella::CampoB
per trovare i record in cui CampoA è maggiore di CampoB. Vedere Operatori di confronto e Operatori logici.