Records met gelijke waarden in verschillende velden zoeken
U kunt records zoeken die verschillende velden met dezelfde waarde hebben. U wilt bijvoorbeeld alle bestellingen zoeken waarvan het betaalde bedrag gelijk is aan het gefactureerde bedrag. Gebruik een berekeningveld of een lus in een script om de waarden van de twee velden in elke record te vergelijken.
Zo gebruikt u een berekeningveld om records met gelijke waarden te zoeken:
- In de tabel met de velden die u wilt vergelijken, maakt u een berekeningveld waarvan het soort resultaat Getal is. Raadpleeg Berekeningvelden definiëren.
Maak bijvoorbeeld een berekeningveld met de naam VergelijkVelden.
- Voer in het dialoogvenster Berekening opgeven een uitdrukking op die de twee velden vergelijkt.
De uitdrukking
VeldA = VeldB
stelt bijvoorbeeld het veld VergelijkVelden alleen in op 1 als beide velden dezelfde waarden hebben; anders is de waarde van VergelijkVelden 0. - Voeg het berekeningveld (VergelijkVelden) toe aan de lay-out.
Raadpleeg Velden in lay-outs plaatsen en verwijderen.
- Start een zoekopdracht, typ
1
in het berekeningveld (VergelijkVelden) en klik vervolgens op Zoekopdracht uitvoeren.Raadpleeg Een zoekopdracht maken.
De gevonden reeks zijn alle records waarbij het berekeningveld VergelijkVelden gelijk is aan 1, oftewel alle records waarvoor VeldA dezelfde waarde als VeldB heeft.
Zo gebruikt u een script om records met gelijke waarden te zoeken:
- Maak een script.
Raadpleeg Scripts maken en bewerken.
- Voeg de volgende stappen toe aan het script, waarbij Tabel::VeldA en Tabel::VeldB de twee velden zijn die u wilt vergelijken in een bepaalde lay-out (in dit geval, "Mijn lay-out").Kopiëren
Ga naar lay-out [ "Mijn lay-out" (Tabel) ]
Alle records tonen
Ga naar record/verzoek/pagina [ Eerste ]
Loop [ Wissen: Altijd ]
If [ Tabel::VeldA = Tabel::VeldB ]
Ga naar record/verzoek/pagina [ Volgende ; Afsluiten na laatste: Aan ]
Else
Record weglaten
End If
End Loop - Voer dit script uit.
Het script toont alle records en gaat naar de eerste record. Dan vergelijkt het de twee velden in elke record en laat het de records weg waarbij VeldA niet gelijk is aan VeldB.
Opmerking In plaats van een gelijkteken in het berekeningveld te gebruiken, of in de If-scriptstap hierboven, kunt u een vergelijkingsoperator of logische operator gebruiken om velden te vergelijken. Gebruik bijvoorbeeld Tabel::VeldA > Tabel::VeldB
om records te zoeken waarin VeldA groter is dan VeldB. Raadpleeg Vergelijkingsoperatoren en Logische operatoren.