Naar hoofdinhoud gaan

Een veld aan een tabel toevoegen

Doel​

Een veld toevoegen aan een bestaande tabel, zodat de records ervan nog een gegeven kunnen opslaan.

Vereisten​

  • Je bent aangemeld met een makerrol (of de rol van platformbeheerder).
  • De tabel bestaat al (zie Een tabel maken).

Stappen​

  1. Open Tabellen, kies de omgeving en selecteer de naam van de tabel in de tabellenlijst om hem te openen op het tabblad Velden.

  2. Voer de weergavenaam van het nieuwe veld in (bijvoorbeeld Total).

  3. Voer een logische naam in. Het voorvoegsel van de uitgever die eigenaar is van de oplossing waarin je werkt, staat naast het vak en wordt voor je toegepast, dus je typt alleen de rest — total wordt par_total.

    Dat gebeurt ook op standaardtabellen. Account en Contact hebben geen eigen voorvoegsel omdat Parsware ze levert, maar een kolom die jij eraan toevoegt, is van jou: die wordt par_accountnumber, niet accountnumber. Namen zonder voorvoegsel zijn van het platform, en een naam die jij verzint, zou botsen met de volgende kolom die Parsware onder die naam toevoegt.

  4. Kies een gegevenstype. Alleen de invoervelden die bij het gekozen type horen, verschijnen:

    • Tekst — tekst op één regel (je kunt een maximale lengte instellen; standaard is dat 100).
    • Tekst met meerdere regels — lange tekst.
    • Geheel getal — hele getallen.
    • Decimaal — getallen met een vaste komma. Precisie is het totale aantal cijfers; schaal is hoeveel daarvan achter de komma staan. Met 12 en 2 kun je dus tot 9.999.999.999,99 opslaan, terwijl 2 en 2 niets boven 0,99 kan bevatten. Standaard is dat 18 en 2, en dat wil je voor geldbedragen, tenzij je beter weet.
    • Booleaans — waar/onwaar.
    • Datum/tijd — een datum en tijd.
    • Zoekveld — een verwijzing naar een record van een andere tabel; kies de doeltabel (de tabel zelf staat niet tussen de keuzes). Als je een zoekveld toevoegt, wordt de een-op-veel-relatie tussen de twee tabellen automatisch gemaakt — je maakt de relatie niet apart (zie Een relatie tussen tabellen maken).
    • Zoekveld (meerdere tabellen) — een verwijzing naar een record in een van meerdere tabellen: een Klant die een Account of een Contact kan zijn. Vink ten minste twee tabellen aan; het veld slaat dan naast de id ook op in welke tabel het record staat. Het heeft geen refererende sleutel, en dat is het enige wat het daarvoor inlevert — zie Een zoekveld voor meerdere tabellen toevoegen.
    • Automatisch nummer — een referentienummer dat het platform elk nieuw record geeft, zoals CR-2026-00417. De enige instelling is de nummernotatie, met een voorbeeld terwijl u typt; niemand typt de waarde, dus er is geen vakje verplicht. Zie Records automatisch nummeren.
  5. Markeer het veld desgewenst als verplicht.

  6. Selecteer Veld toevoegen.

  7. Het veld verschijnt in de veldenlijst van de tabel, en de kolom bestaat al — je hoeft daarna nergens meer op te drukken.

Wat er achter de schermen gebeurt​

Het veld wordt als metagegevens bij de tabel opgeslagen en de kolom wordt in dezelfde stap aan de gegevenstabel toegevoegd, dus het veld is actief zodra je het toevoegt: zet het op een formulier en app-gebruikers kunnen het invullen. Een zoekveld verwijst naar een andere tabel via de logische naam ervan en wordt een echte verwijzing (refererende sleutel) naar die tabel.

Als de kolom niet kan worden gemaakt, wordt het veld weer verwijderd en wordt de fout gemeld — een veld in deze lijst heeft dus altijd een kolom erachter. Zie Wat er gebeurt als je een tabel opslaat.

Een veld bewerken​

Vink het selectievakje van het veld aan en selecteer Bewerken. Dit kun je wijzigen:

  • Weergavenaam — het label overal waar het veld wordt getoond. Hernoemen is veilig: alles wat het veld gebruikt, verwijst ernaar via de logische naam, en die verandert niet.
  • Verplicht — of het veld standaard verplicht is op formulieren. Het is een formulierregel, geen databasebeperking: elke kolom accepteert een lege waarde, en een formulier kan dit voor één plaatsing nog steeds overschrijven (zie Een veld verplicht of alleen-lezen maken). Door het in te schakelen wordt een bestaand record dus nooit ongeldig.
  • Maximale lengte (tekst) of precisie en schaal (decimaal) — de grootte van het veld. Laat een vak leeg om de huidige waarde te behouden.

Wat je niet kunt wijzigen, is de logische naam van het veld, het gegevenstype en — bij een zoekveld of een keuzesetveld — waar het naar verwijst. Die worden getoond maar zijn vergrendeld, omdat alles wat het veld gebruikt ernaar verwijst via de naam, en de kolom al gegevens van één type bevat; de waarden erin zijn gevalideerd tegen het doel of de set die het nu heeft. Wil je een ervan wijzigen, verwijder het veld dan en voeg het opnieuw toe.

De grootte van een veld wijzigen is een echte wijziging van de gegevenstabel, omdat de kolom al bestaat. Een tekstveld langer maken lukt altijd. Het korter maken mislukt als een record al een langere waarde bevat — het opslaan meldt de fout in plaats van in te korten wat iemand heeft getypt. Maak het veld in plaats daarvan breder, of ruim eerst de gegevens op.

Een veld verwijderen​

Vink het selectievakje van het veld aan en selecteer Verwijderen. Het veld wordt ook verwijderd uit elk formulier en elke weergave van de tabel die het gebruikte, zodat er niets achterblijft dat verwijst naar een veld dat niet meer bestaat. Je hoeft niet zelf elk formulier en elke weergave langs. Als je een zoekveld verwijdert, wordt ook de relatie verwijderd die het had gemaakt, zodat een verwijderd zoekveld nooit een verweesde relatie achterlaat.

Drie dingen die je moet weten voordat je verwijdert:

  • Een sectie die leeg achterblijft, blijft staan. Alleen het veld wordt verwijderd — de sectie, rij of het tabblad waarin je het had gezet, blijft, klaar voor iets anders.
  • Een weergave zonder kolommen valt terug op de primaire kolom van de tabel. Een weergave moet iets tonen.
  • Een weergave die op het veld filterde, toont meer records dan voorheen. Het filter verdwijnt met het veld, omdat een filter niet kan worden toegepast op een veld dat niet meer bestaat. Als een weergave bestaat om records te verbergen op basis van dit veld, controleer haar dan achteraf.

Het primaire veld van de tabel kan niet worden verwijderd. De gegevenskolom zelf blijft in de tabel staan — het veld verwijderen haalt het uit de app, niet uit de opgeslagen gegevens.

Problemen oplossen​

  • Ik heb een veld toegevoegd, maar het verschijnt niet in de app. — de kolom bestaat zodra het veld is toegevoegd, maar een veld wordt alleen getoond waar het is geplaatst. Voeg het toe aan het formulier of de weergave waar je naar kijkt.
  • "… must be lower snake-case and start with the publisher prefix." — de logische naam van het veld moet beginnen met {prefix}_.
  • "… must be namespaced by your publisher's prefix." — het veld is helemaal zonder voorvoegsel verstuurd. Alleen de eigen standaardkolommen van Parsware hebben geen voorvoegsel; alles wat jij toevoegt, draagt het voorvoegsel van je uitgever, ook op een standaardtabel.
  • "A field named … already exists on this entity." — kies een andere logische naam; veldnamen zijn uniek binnen een tabel.
  • "The lookup target entity … was not found." — maak eerst de doeltabel, of corrigeer het doel dat je hebt geselecteerd.
  • "Text maxLength must be between 1 and 4000." / "Decimal precision/scale is out of range." — pas de lengte of de precisie/schaal aan tot binnen het toegestane bereik.
  • Bij het opslaan van een record staat er dat een getal "must have at most 0 digits before the decimal point". — de precisie van het veld telt alle cijfers, niet de decimalen. Een veld voor bedragen met twee decimalen heeft precisie 12 en schaal 2 nodig; precisie 2 en schaal 2 is een kolom die niets boven 0,99 kan bevatten. Het gegevenstype kan achteraf niet worden gewijzigd, maar de precisie en schaal wel: selecteer het veld, druk op Bewerken en maak het breder.
  • Bewerken is niet beschikbaar voor een veld. — voor Bewerken moet precies één veld zijn geselecteerd, en de eigen systeemvelden van het platform (Gemaakt op, Gewijzigd door enzovoort) zijn niet bewerkbaar: ze horen bij het platform en niet bij je tabel.
  • Een veld korter maken meldt "value too long for type …". — een record bevat al een waarde die langer is dan de nieuwe lengte. De wijziging wordt geweigerd in plaats van de waarde in te korten. Maak het veld in plaats daarvan breder, of maak eerst de betreffende records korter.

Gerelateerde scenario's​