Opzoekdefinities definiëren en bijwerken

Met een opzoekdefinitie kopieert u gegevens vanuit een andere tabel naar een veld in de huidige tabel. De gekopieerde gegevens worden dan een onderdeel van de huidige tabel (en blijven opgeslagen in de tabel vanwaar ze zijn gekopieerd). Gegevens die naar de huidige tabel zijn gekopieerd, worden niet automatisch aangepast wanneer u de waarden in de gerelateerde tabel wijzigt.

Gebruik bijvoorbeeld een opzoekdefinitie om de prijs van een artikel bij de aankoop naar een tabel met facturen te kopiëren. Zelfs wanneer de prijs in de gerelateerde tabel verandert, blijft de prijs in de facturentabel ongewijzigd.

Verschil tussen gegevens die dynamisch worden weergegeven en statisch gekopieerd

Gebruik een relatie om een verbinding tussen tabellen in te stellen voor een opzoekdefinitie. Definieer vervolgens een opzoekdefinitie om gegevens uit een veld in de gerelateerde tabel naar een veld in de huidige tabel te kopiëren.

Wanneer u in een vergelijkingsveld van de huidige tabel een waarde invoert of wijzigt, gebruikt FileMaker Pro de relatie om de eerste record in de gerelateerde tabel te zoeken waarvan het vergelijkingsveld een waarde bevat die aan de criteria van de relatie voldoet. Daarna wordt de waarde van het bronveld van de opzoekdefinitie naar het doelveld van de opzoekdefinitie gekopieerd. De waarde wordt hierin opgeslagen.

U kunt de waarde in het doelveld van de opzoekdefinitie net zoals andere waarden in de huidige tabel bewerken, vervangen of verwijderen.

Als u gegevens in het vergelijkingsveld van de gerelateerde tabel of in het bronveld van de opzoekdefinitie wijzigt, werkt FileMaker Pro de gegevens in het doelveld van de opzoekdefinitie niet automatisch bij. Om de gegevens bij te werken, moet u de opzoekdefinitie opnieuw uitvoeren door Records > Veldinhoud opnieuw opzoeken in de modus Bladeren te kiezen of door een vergelijkingsveld in de relatie die door de opzoekdefinitie wordt gebruikt te wijzigen.

Belangrijk  Wanneer een opzoekdefinitie is gebaseerd op een veelzijdige relatie, wordt de opzoekdefinitie geactiveerd telkens als een waarde wordt ingevoerd in een van de velden die deel uitmaken van de relatie. De opzoekdefinitie wordt uitgevoerd telkens als in een van de vereiste velden een waarde wordt ingevoerd.

Zo definieert u een opzoekdefinitie:

  1. Kies Bestand > Beheren > Database en klik vervolgens op het tabblad Relaties.
  2. Definieer voor de opzoekdefinitie de relatie tussen het vergelijkingsveld van de huidige tabel en het vergelijkingsveld van de gerelateerde tabel.

    Raadpleeg Relaties maken en wijzigen.

    Zorg ervoor dat het bronveld voor de opzoekdefinitie en het doelveld voor de opzoekdefinitie van hetzelfde veldtype zijn.

  3. Klik op het tabblad Velden.
  4. Selecteer een tabel uit de lijst Tabel.
  5. Selecteer een veld uit de lijst met bestaande velden, of definieer een nieuw veld, en klik vervolgens op Opties.
  6. Klik op het tabblad Automatisch invoeren en selecteer vervolgens Opgezochte waarde.
  7. Voor Beginnen met tabel kiest u de tabel die de opzoekdefinitie als beginpunt in de relatiegrafiek moet gebruiken. Kies bij Opzoekwaarde uit gerelateerde tabel de gerelateerde tabel die de gerelateerde gegevens bevat die moeten worden opgezocht.
  8. Selecteer het veld dat de opzoekwaarde bevat die u wilt kopiëren.
  9. Selecteer de volgende opties voor de opzoekdefinitie.

Zo werkt u waarden voor opzoekdefinities bij:

  1. Zoek in de huidige tabel de records die wilt bijwerken.
  2. Geef de huidige tabel weer in de bladermodus, selecteer het vergelijkingsveld en kies vervolgens Records > Veldinhoud opnieuw opzoeken.

    De opdracht ‘Veldinhoud opnieuw opzoeken’ legt de actieve record niet vast. Raadpleeg Gegevens in records vastleggen.

Belangrijk  Met de functie ‘Veldinhoud opnieuw opzoeken’ kunt u voor alle records van de huidige gevonden reeks alle velden bijwerken die eerder door het vergelijkingsveld zijn opgezocht. U kunt het bijwerken van opzoekwaarden echter niet ongedaan maken.

Opmerkingen 

  • Wanneer dezelfde waarde wordt aangetroffen in het vergelijkingsveld van meer dan één record in de gerelateerde tabel:
    • als voor de relatie geen sorteervolgorde is opgegeven, wordt de waarde gekopieerd van de eerste gerelateerde record die is gemaakt.
    • als voor de relatie wel een sorteervolgorde is opgegeven, wordt de waarde gekopieerd van de gerelateerde record die in deze volgorde als eerste record verschijnt.
  • Met deze relatie kunt u de gerelateerde records ook sorteren, zodat een specifieke gerelateerde record (de record die door de opzoekdefinitie wordt gekopieerd) als eerste record wordt weergegeven. Als u bijvoorbeeld de datum van het meest recente onderhoud van een apparaat wilt opzoeken, moet u ervoor zorgen dat de records in aflopende volgorde op de datum van onderhoud worden gesorteerd. Raadpleeg Relaties maken en wijzigen.
  • U kunt waarden voor opzoekdefinities automatisch bijwerken door een knop of een scriptactivering te definiëren om de Veldinhoud opnieuw opzoeken scriptstap uit te voeren.