Naar hoofdinhoud gaan

Dubbele waarden en dubbele boekingen voorkomen

Doel​

Een tabel twee soorten records botweg laten weigeren:

  • Dubbele waarden — een tweede product met dezelfde code, een tweede persoon met hetzelfde e-mailadres.
  • Dubbele boekingen — een tweede boeking van dezelfde zaal voor een tijd die overlapt met een bestaande, een tweede dienst voor dezelfde persoon op hetzelfde moment.

Vereisten​

  • U bent aangemeld met een makerrol en de oplossing van de tabel is geopend.
  • Voor een regel zonder overlap heeft de tabel twee datum- en tijdvelden: wanneer de periode begint en wanneer die eindigt.

Stappen​

  1. Open de tabel en selecteer Tabelbeperkingen in het menu.
  2. Voeg een regel toe:
    • Geen dubbele waarden — en kies het veld. De regel luidt: Geen twee records mogen dezelfde waarde hebben in Code.
    • Geen overlap — en kies de velden voor begin en einde van de periode en, als boekingen van verschillende dingen elkaar mogen overlappen, het veld dat zegt wat er geboekt is: Geen twee records mogen elkaar in tijd overlappen, per Zaal, van Begin tot Einde. Laat het eerste vak op de hele tabel staan als er maar één ding te boeken is.
  3. Selecteer Opslaan.

Om een regel te verwijderen, selecteert u de prullenbak aan het eind van de regel en daarna Opslaan.

Wat er achter de schermen gebeurt​

  • De database dwingt deze regels af, niet het formulier. Ze gelden hoe een record ook wordt geschreven — in een formulier, via een spreadsheetimport, via een script, via een proces — en ze gelden als twee mensen op hetzelfde moment opslaan: de ene opslag lukt, de andere wordt geweigerd. Een controle in een bedrijfsregel kan dat niet beloven, want beide opslagen kunnen „nog niets“ lezen voordat een van beide schrijft.
  • Een record met een leeg veld is geen dubbele waarde. Een willekeurig aantal records mag een uniek veld leeg laten. Moet het veld ook ingevuld worden, maak het dan ook verplicht.
  • Aansluitende perioden overlappen niet. Een boeking die om 10:00 eindigt en een die om 10:00 begint, zijn allebei toegestaan.
  • Wie opslaat, hoort welke regel is overtreden. Een geweigerde opslag zegt dat de waarde al in dat veld wordt gebruikt, of dat de periode met een andere overlapt, en er wordt niets opgeslagen.
  • De regels reizen mee met de oplossing en worden afgedwongen in elke omgeving waarin de oplossing wordt geïmporteerd.

Als bestaande records de regel al overtreden​

Een regel kan alleen worden toegevoegd als de records die al in de tabel staan zich eraan houden. Delen twee producten al een code, dan wordt het opslaan van een regel Geen dubbele waarden op Code geweigerd met een melding die het veld noemt, en houdt de tabel de regels die ze had. Uw regel blijft op het scherm: corrigeer de records en selecteer opnieuw Opslaan.

Problemen oplossen​

  • De keuzelijsten voor de periode zijn leeg. — De tabel heeft geen eigen datum- en tijdvelden. Voeg eerst de velden voor begin en einde toe.
  • Een veld dat ik wil, wordt niet aangeboden. — Bestanden, afbeeldingen en zoekvelden naar meerdere tabellen kunnen geen deel van een regel zijn: ze bevatten geen enkele vergelijkbare waarde. Platformvelden zoals Gemaakt op worden ook niet aangeboden.
  • Een verwijderde regel lijkt nog steeds te weigeren. — Controleer of u na het verwijderen Opslaan hebt geselecteerd; de lijst wordt als geheel opgeslagen.

Gerelateerde scenario's​