Zum Inhalt

Bebilderte Kurzanleitung: 1:n-Formular im Formular-Editor anlegen

Diese Schritt-für-Schritt-Anleitung richtet sich an Einsteiger und zeigt den Klickweg im Formular-Editor. Du baust ein kleines Bestellformular, bei dem zu einer Bestellung beliebig viele Positionen erfasst werden — eine klassische 1:n-Beziehung („ein Master, viele Detailzeilen").

Lieber tiefer einsteigen?

Eine ausführliche Variante mit JSON-Schema, Picker, automatischen Summen und MwSt findest du im großen 1:n-Tutorial (Bestellung mit Positionen). Die vollständige Referenz steht unter Detail-Tabellen.

Was heißt 1:n?

Ein Datensatz (die Bestellung = Master) hat mehrere untergeordnete Datensätze (die Positionen = Detail). In KCForms bildet das eine Detail-Tabelle ab. Die Zeilen landen automatisch in einer eigenen Datenbank-Tabelle, die per Fremdschlüssel mit der Bestellung verknüpft ist — darum kümmert sich KCForms.

flowchart LR
    B["Bestellung<br/>Master · 1 Datensatz"] -- "1 : n" --> P1["Position 1 — Schrauben · 100 · 0,05 €"]
    B --> P2["Position 2 — Dübel · 50 · 0,08 €"]
    B --> P3["Position 3 — Mutter · 80 · 0,03 €"]

Die Bilder dieser Anleitung zeigen das mitgelieferte Beispiel Büromaterial-Bestellung; dein Tutorial-Formular sieht an den gleichen Stellen genauso aus.


Schritt 1 · Den Formular-Editor öffnen

Melde dich an und klicke oben rechts auf das Zahnrad → Formular-Editor.


Schritt 2 · Ein neues Formular anlegen

Klicke in der linken Spalte Formulare auf + Neu. Darüber erscheint ein kleines Formular:

Feld Beispiel Bedeutung
ID (URL-tauglich) tutorial-positionen technischer Name, klein, ohne Leerzeichen
Titel Bestellung (Tutorial) Anzeigename
Katalog (optional) Tutorial Katalog auf der Startseite; ein neuer Name legt ihn an

Dann Erstellen.

Neues Formular anlegen: ID, Titel und Katalog in der Spalte Formulare

Das leere Formular wird angelegt und in der Mitte als Vorschau geöffnet.


Schritt 3 · Die Master-Felder anlegen

In der Spalte Felder klickst du auf + Neu. Für jedes Feld: Feldname eingeben, Typ wählen, bei Bedarf die Spaltenbreite, dann Erstellen.

Für dieses Tutorial reichen zwei Master-Felder:

Feldname Typ
kunde string
bestelldatum date (Datum)

Neues Feld anlegen: Feldname, Typ und Spaltenbreite


Schritt 4 · Die Detail-Tabelle (1:n) hinzufügen — der Kern

Lege noch ein Feld an, wähle als Typ aber „Detail-Tabelle (1:n)". Nenne es z. B. positionen und wähle als Spaltenbreite volle Breite.

Nach Erstellen erscheint in der Vorschau ein Tabellen-Block für die Positionen.


Schritt 5 · Die Spalten der Detail-Tabelle festlegen

Klicke die Detail-Tabelle in der Felderliste an. In den Eigenschaften gibt es für Detail-Tabellen den zusätzlichen Reiter bzw. Abschnitt Felder mit der Liste Detailzeilen-Spalten. Über + Spalte legst du die Felder einer Positionszeile an. Gefragt wird zuerst nach dem Titel; die Spalten-ID schlägt der Editor daraus vor und du kannst sie überschreiben:

Spalte Typ
artikel string
menge integer
einzelpreis number

Die Spalten einer Detail-Tabelle in den Eigenschaften

Ein Doppelklick auf eine Spalte in der Vorschau öffnet deren eigene Eigenschaften (Titel, Format, Pflichtfeld …).

Tipp

Detail-Tabellen lassen sich verschachteln (eine Spalte ist selbst wieder eine Detail-Tabelle) — für den Anfang bleibt es bei einer Ebene.


Schritt 6 · Speichern

Klicke oben rechts Speichern. KCForms legt im Hintergrund die Datenbank-Tabellen an: eine für die Bestellung und eine eigene Tabelle für die Positionen, verknüpft per Fremdschlüssel. Welche Tabellen und Spalten entstanden sind, zeigt der Reiter Modell an der rechten Leiste.


Schritt 7 · Das Formular ausfüllen

Über Im Formular öffnen (oder den Katalog Tutorial auf der Startseite) öffnest du das fertige Formular. Unter den Master-Feldern steht die Positions-Tabelle. Mit + Zeile hinzufügen erfasst du beliebig viele Positionen; das × am Zeilenende entfernt eine Zeile. Gespeichert wird mit dem Disketten-Symbol in der Werkzeugleiste (oder Strg+S).

Ausfüllen: Positionen mit Artikel aus dem Katalog, Menge und berechneter Positionssumme

Beim Speichern wird die Bestellung in ihre Tabelle geschrieben und jede Zeile als eigener Datensatz in die Positions-Tabelle — automatisch mit der Bestellung verknüpft. Genau das ist die 1:n-Beziehung.


Geschafft! 🎉

Du hast ein 1:n-Formular gebaut, ohne eine einzige Zeile SQL zu schreiben.

Nächste Schritte zum Ausprobieren:

  • Pflichtfelder & Prüfungen in den Feld-Eigenschaften.
  • Summen rechnen (Positionssumme = Menge × Einzelpreis, Gesamtsumme über alle Zeilen) ganz ohne Skript mit Berechnungsfeldern.
  • Artikel aus einem Katalog wählen mit einem Picker.
  • Spaltenbreite der Detail-Tabelle anpassen (Spalten-Eigenschaften).
  • Detail-Tabellen im Skript: Modell & Detail-Tabellen.