2017-07-27 4 views
0

Ich arbeite an einem Projekt in Access 2016 und VBA, die eine Tabelle enthält, die die Details der Schüler (StudentID, EnrollmentNo, Name, Center, etc) und eine andere enthält die Anwesenheit (mit vier Spalten : ID, StudentID, DateOfClass, IsPresent).Dynamische Formularelemente in Access

Ich möchte ein Formular erstellen, das mehrere Zeilen anzeigt, jede zu einem Schüler gehörende Zeile (Registrierungsnummer, Name, DateOfBirth, DateOfClass, IsPresent) und schließlich das isPresent-Feld über das Kontrollkästchen eingeben und dann die Informationen speichern für alle/neue Informationen hinzufügen.

Gibt es eine Möglichkeit, dies zu tun?

Hier bin ich besorgt über die Form. Wie erstelle ich ein solches Formular (wie die Datenblattansicht), wo ich eine Liste von Studenten spaltenweise (mit ihren Details wie Registrierungsnummer etc.) und IsPresent (Kontrollkästchen Typ Ding) in der nächsten habe. Wenn ich also die Anwesenheit in der Anwesenheitstabelle eingeben möchte, kann ich einfach das Datum einstellen und die Kästchen vor den Schülern markieren und dann einen Knopf drücken, der alle Daten zur Tabelle hinzufügt.

Antwort

0

Keine Tabelle der Klassen/Themen? Nur 2 Tische? Sie müssen Daten in die Anwesenheit eingeben. Konnte nur Datensätze für Studenten erstellen, die teilnehmen, sodass das Feld IsPresent nicht benötigt wird. Wenn du für einen Schüler aufnehmen willst, auch wenn du nicht teilnimmst, dann brauchst du ja IsPresent.

Wenn Sie Datensätze für alle Studenten für ein bestimmtes Datum 'batch' erstellen möchten, führen Sie INSERT SELECT sql action aus.

INSERT INTO Attendance(StudentID, DateOfClass) SELECT StudentID, [enter date value] AS DateOfClass FROM Students;

+0

Danke für den Vorschlag. Ja, es wäre besser, keinen Eintrag für Studenten zu erstellen, die an einem bestimmten Tag abwesend sind. Aber ich bin besorgt über die Form. Wie erstelle ich ein solches Formular (wie die Datenblattansicht), wo ich eine Liste von Studenten spaltenweise (mit ihren Details wie Registrierungsnummer etc.) und IsPresent (Kontrollkästchen Typ Ding) in der nächsten habe. Wenn ich also die Anwesenheit in der Anwesenheitstabelle eingeben möchte, kann ich einfach das Datum einstellen und die Kästchen vor den Schülern markieren und dann einen Knopf drücken, der alle Daten zur Tabelle hinzufügt. –

+0

Kann nicht mit einem BOUND Formular. Daten für Datensätze, die noch nicht in Anwesenheit vorhanden sind, können nicht angezeigt werden. Sie müssen Daten eingeben - wählen Sie Student aus der Combobox und geben Sie das Datum ein. Der Datensatz wird an die Tabelle gebunden, wenn 1. Tabelle, Abfrage, Formular oder 2. in einen anderen Datensatz verschieben oder 3. Code zum Speichern ausführen. Die Dateneingabe für mehrere Datensätze kann durch Code unterstützt werden, der die DefaultValue-Eigenschaft für das Datumseingabefeld festlegt. – June7

Verwandte Themen