Frage stellen
0

Im Base-Formular nur bestimmte Datensätze anzeigen/bearbeiten

gefragt 2019-09-21 21:12:35 +0100

Löwenbändiger Gravatar-Bild

Hallo zusammen, ist es möglich, in einem Formular nur die Datensätze anzeigen und dann auch bearbeiten zu lassen, die ein bestimmtes Kriterium erfüllen? Um mal konkret zu sein: Ich lege gerade eine Datenbank für die Schülerdaten einer Schule an und möchte ermöglichen, dass Kollegen nur die Datensätze zur Bearbeitung angezeigt werden, die zu ihrer Klasse gehören. Das Filter-Kriterium wäre hier also der Klassenname.

Schön wäre z.B. ein Kombinationsfeld im Formular, das dann einen Filter anwendet. Oder auch einfach für jede Klasse ein eigenes Formular, das dann mit entsprechendem Filter startet. Evtl. gibt es aber eine elegantere Lösung? Ich selbst komme bislang ganz gut mit Base zurecht, bin aber dann doch zu sehr Neuling, um z.B. in die Tiefe von Makros blicken zu können.

Ich freue mich auf jeden Fall über kompetente Tipps! Danke schonmal!

Bearbeiten Tags ändern Melden schließen vereinen löschen

1 Antwort

0

geantwortet 2019-09-22 11:26:04 +0100

RobertG Gravatar-Bild

Wenn Du nicht mit Makros arbeiten willst ist die einfachste Variante, dies über eine Filter-Tabelle zu erledigen.

Erstelle eine neue Tabelle "Filter" mit einem Primärschlüssel "ID" (boolean/ Ja-Nein-Feld) und "KlassenID" (vermutlich Integer, wenn Du die Klassen in einer separaten Tabelle aufführst und nicht den Namen als Primärschlüssel verwendest). Den ersten Datensatz dieser Filter.Tabelle musst Du erstellen, indem Du "ID" auf 'Ja' stellst.

Erstelle dann eine Abfrage für Deine Daten, die in der Bedingung auf diese Tabelle zugreift. Kann so sein wie

SELECT * FROM "Schueler" WHERE "KlassenID" = (SELECT "KlassenID" FROM "Filter" WHERE "ID" = TRUE)

Dein Formular hat jetzt zwei separate Formularelemente. Ein Formular, das nur die Filter-Tabelle mit neuen Daten versieht und ein zweites Formular, das über die Abfrage seine Daten erhält.

Das Formular für die Filter-Tabelle stellst Du in den Eigenschaften so ein, dass nur Daten geändert werden können und immer die Daten angezeigt werden, die in dem Datensatz mit "ID" = "TRUE" stehen. Das einzige Element in diesem Formular ist ein Listenfeld, das die Klassen aufzeigt, aber die ID der Klassen in die Filtertabelle schreibt.

Das Formular für die Abfrage erhält zusätzlich zu den Inhalten einen Button, der das Formular aktualisieren soll. Dieser Button liegt direkt neben dem Listenfeld. Verlässt jetzt der/die Nutzer(in) das Listenfeld und rückt auf den Button, so wird zuerst der Wert des Listenfeldes gespeichert (über das verlassen dieses Formulars) und das andere Formular (in dem der Button positioniert ist) wird aktualisiert. Das Klassen-Formular zeigt also die SchülerInnen der ausgewählten Klasse an.

Steht übrigens alles auch so im Handbuch, das unter der Dokumentation LibreOffice oder direkt von meiner Homepage heruntergeladen werden kann.

Bearbeiten Melden löschen Link mehr
Registrieren oder einloggen, um zu antworten

Antwortwerkzeuge

1 Beobachter

Statistik

Gefragt: 2019-09-21 21:12:35 +0100

Angesehen: 66 Mal

Aktualisiert: Sep 22 '19