Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Dateneingabe in Formular funktioniert nicht





Frage

Hallo, ich möchte in einem Formular Daten eingeben. Das Formular basiert auf einer Abfrage, die auch Felder einer Tabelle enthält. In diesen Feldern sollen die neuen Daten gespeichert werden. Leider kann ich in dem Formular kein Unterformular verwenden, weil eine Endlosansicht im Formular dann nicht mehr möglich ist.

Antwort 1 von Marie

Was dein letzter Satz heissen soll weiss ich nicht, denn wenn Du schon in dem Formular nichts eingeben kannst, dnn kannste auch in einem Unterformular nichts eingeben.

Also entweder kannste bereits in der Abfrage nichts eingeben, oder aber in dem Formular ist die Eingabe gesperrt.

Öffne mal die Abfrage und versuch mal dort Daten einzugeben.

Geht das nicht, dann geh in der Abfrage in Ansicht SQL und poste den Code mal hierher.

Wenn Du in der Abfrage was eingeben kannst und nur in dem Formular nicht, dann geh in dem Formularentwurf auf Eigenschaften Daten und schau ob dort alles freigegeben ist.

Gruß marie

Antwort 2 von ingo1

Hallo Marie,

Danke zunächst für die schnelle Antwort.
Sowohl in meiner Abfrage als auch in dem Formular kann ich keine Daten eingeben. Hier der Code der Abfrage:

SELECT tbl_Stammdaten.Nachname, tbl_Stammdaten.Vorname, tbl_Klasse.[Fach 1], tbl_Klasse.[Fach 2], tbl_Klasse.[Fach 3], tbl_Klasse.[Fach 4], tbl_Klasse.[Fach 5], tbl_Klasse.[Fach 6], tbl_Klasse.[Fach 7], tbl_Klasse.[Fach 8], tbl_Klasse.[Fach 9], tbl_Klasse.[Fach 10], tbl_Klasse.[Fach 11], tbl_Klasse.[Fach 12], tbl_Klasse.[Fach 13], tbl_Klasse.[Fach 14], tbl_Klasse.[Fach 15], tbl_Noten.Schwerpunkt, tbl_Noten.Orgform, tbl_Noten.Note1, tbl_Noten.Note2, tbl_Noten.Note3, tbl_Noten.Note4, tbl_Noten.Note5, tbl_Noten.Note6, tbl_Noten.Note7, tbl_Noten.Note8, tbl_Noten.Note9, tbl_Noten.Note10, tbl_Noten.Note11, tbl_Noten.Note12, tbl_Noten.Note13, tbl_Noten.Note14, tbl_Noten.Note15, tbl_Noten.Note16, tbl_Noten.Note17, tbl_Noten.Note18, tbl_Noten.Note19, tbl_Noten.Note20, tbl_Noten.versTg, tbl_Noten.entTg, tbl_Noten.versSt, tbl_Noten.entSt, tbl_Noten.Bemerkungen, tbl_Noten.Abgang
FROM (tbl_Klasse INNER JOIN tbl_Stammdaten ON tbl_Klasse.Klassenbezeichnung = tbl_Stammdaten.Klassenbezeichnung) INNER JOIN tbl_Noten ON tbl_Stammdaten.[ID-Schüler] = tbl_Noten.[ID-Schüler]
WHERE (((tbl_Stammdaten.Klassenbezeichnung)=[Bitte geben Sie die Klasse ein]![]));


Wo könnte der Fehler liegen?

Gruß

Ingo

Antwort 3 von Marie

Erstmal eindeutig nicht an deinem Formular, sondern an deiner Abfrage, wie Du jetzt hoffentlich gemerkt hast.

Aber wie das funktionieren soll entzieht sich ohnehin meiner Kenntnis. In welche der drei Tabellen willst Du denn nun was eingeben?? Also die Beziehung

FROM (tbl_Klasse INNER JOIN tbl_Stammdaten ON tbl_Klasse.Klassenbezeichnung = tbl_Stammdaten.Klassenbezeichnung) INNER JOIN tbl_Noten ON tbl_Stammdaten.[ID-Schüler] = tbl_Noten.[ID-Schüler]

stimmt in keinem Fall, nur was Du wirklich willst weiss ich auch nicht, Ich habe noch nie eine Tabelle gesehen mit dem Tabellenfeld Note 1, was soll denn da eingetragen werden??? Und die Tabelle mit den feldern Fach steht in keiner beziehung zu den Noten??? Seltsam seltsam, erzähl mal was Du jetzt wo eingeben wolltest.

gruß marie

Antwort 4 von Marie

Übrigens: In deinem Formular kannst Du deshalb nichts eingeben, weil es auf dieser Abfrage basiert bei der Du nichts eingeben kannst. Also wenn Du rumprobierst, dann kannst Du probieren in der Abfrage einzugeben, solange das nicht geht, geht auch keine Eingabe in deinem formular, das auf dieser Abfrage basiert.

gruß Marie

Antwort 5 von Ingo1

Die Eingabe soll nur in der Tabelle Noten stattfinden und hier sollen auch die Noten gespeichert werden. Die übrigen beiden Tabellen sind bereits mit Daten gefüllt. Diese werden dann in dem Eingabeformular angezeigt, sodass der Benutzer Namen, Vorname sieht und die dazugehörigen Fächer. Die Eingabe der Noten soll er nun vornehmen.
Ich hoffe, du kanns damit was anfangen?

Antwort 6 von Marie

Dazu müsste aber doch wohl die Tabelle Fächer mit der tabelle Noten verknüpft sein??

Aber ich kapier immer noch nicht was Du da tust?? Wie willst Du denn die Noten eingeben, wenn Deine Felder Note 1 Note 2 Note 3 heissen????

und wenn die Fächer nicht mit den noten verknüpft sind???? bitte erklär mal exakt waaaaaaaaaaaaaaaaas in dem feld Note 1 eingegeben werden soll????

Antwort 7 von Marie

Hier zum beispiel kannst Du Noten eingeben:

SELECT tbl_Stammdaten.Nachname, tbl_Stammdaten.Vorname, tbl_Noten.note1, tbl_Noten.note2
FROM tbl_Stammdaten LEFT JOIN tbl_Noten ON tbl_Stammdaten.[ID-Schüler] = tbl_Noten.[ID-Schüler];

Antwort 8 von Ingo1

Die Situation ist folgende.
Es existieren eine Vielzahl an Schülern (tbl_Stamm), diese Schüler sind in einer Klasse (tbl_Klasse). Diese jeweilige Klasse hat unterschiedliche Fächer. Die Noten der Schüler sollen nun in eine extra Tabelle geschrieben werden (tbl_Noten). Dies ist aus meiner Sicht notwendig, weil diese Noten in mehrern Halbjahren jeweils eingegeben werden sollen und am Ende wieder zur Verfügung stehen sollen, damit man Mittelwert bilden kann. So kann es also vorkommen, dass ein Schüler in Mathe im ersten Halbjahr eine 2 und im nächsten Halbjahr eine 3 hat usw. d.h. ich darf die Noten nichtüberschreiben, sondern muss den Datensatz speichern.
In das Feld Note1 in der tb_Noten soll nun eine Zahl später auch ein Text eingegeben werden können.
So war meine Überegung. Die tbl_Klasse und die tbl_noten sind über die Klassenbezeichnung miteinander verknüpft.

Gruß
Ingo

Antwort 9 von Marie

Nö, die tbl_Noten sind nicht mit den Fächern verknüpt und daher rührt auch Dein Problem, wad soll denn die Tabelle Fächer überhaupt, wenn Du nicht weisst welche Note in welchem Fach ist?? Warum schreibst Du nicht Statt Note 1 Note 2 Note 3 Englisch, Mathe, Physik und dann

SELECT tbl_Stammdaten.Nachname, tbl_Stammdaten.Vorname, tbl_Noten.Englisch, tbl_Noten.Mathe
FROM tbl_Stammdaten LEFT JOIN tbl_Noten ON tbl_Stammdaten.[ID-Schüler] = tbl_Noten.[ID-Schüler];

Antwort 10 von Marie

Lösch doch einfach mal Deine Tabelle Fächer aus der Abfrage, dann siehst Du, dass Dein problem exakt an dieser mangelhaften Verknüpfung liegt.

Antwort 11 von ingo1

Danke Marie,

jetzt kann ich Noten eingeben. Habe aber das Problem, dass das Formular, in dem nachher die Noten eingegeben werden sollen keine Fächer mehr enthält.
Ich war der Meinung, dass eine eigenständige Tabelle Noten deshalb sinnvoll ist, weil gleiche Fächer mehrmals vorkommen können. Auch in einer Klasse, weil diese ja über mehrer Halbjahre unterrichtet werden. Gibt es denn hierfür eine Lösung?

Gruß

Ingo

Antwort 12 von Marie

In dem Formular sind doch Bezeichnungsfelder, Da kannst Du doch hinschreiben wie das Fach heisst.

Du gibst doch nicht die Noten von mehreren Halbjahren in einen einzigen Datensatz ein. Was willst Du denn? Ein Progamm zum Zeugnisschreiben oder zum Ausrechnen der Noten?? Zum Ausrechnen der Noten würdest Du besser excel verwenden, und für zeugnisse zu schreiben brauchste jeweils nur einen Datensatz pro Halbjahr.

Gruß marie

Antwort 13 von ingo1

Natürlich könnte ich auch die Bezeichnungsfelder dort verwenden. Das würde allerdings bedeuten, dass ich für jede Klasse (ca. 50 Stck.) ein Formular erstellen muss. Geichzeitig hat jede Klasse ca. 20 unterschiedliche Fächer, sodass man dann viele Änderungen vornehmen müsste. Insbesondere dann, wenn Formulare vom Design neu angepasst werden müssten.daher wollte ich mit möglichst wenig Formulare und späteren Berichten arbeiten. Gib es eine andere Lösung oder muss ich in diesen sauern Apfel beissen und viele Formulare erstellen?

Antwort 14 von ingo1

Leider ist es auch so, dass im Abschlusszeugnis nach 3 Jahren die Noten mehrerer Halbjahre aufgeführt werden müssen. Diese müssen teilweise gemittelt werden, teilweise allerdings auch einfach übernommen werden.

Antwort 15 von Marie

Natürlich gibt es andere Lösungen bis hin zum professionellen Zeugnisprogramm. So ein Programm ist aber nicht umsonst so teuer. Klick mal hier auf das Bild: http://www.anselsoft.de/zeugnis_zv7.htm#, vielleicht erkennst Du, dass das, was Du vorhast nicht mit einem Formular für alle Klassen getan ist ohne umfangreiche Programmierkenntnisse.

gruß marie

Antwort 16 von ingo1

Danke Marie erstmal für deine schnelle Hilfe. Ich werde mich sicherlich nochmal auf dem Board melden.
Bis dann

Gruß

Ingo

Antwort 17 von Marie

melde Dich doch im SN mal an, dann kannst Du mir auch per Pager schreiben, wenn ich Deine Frage nicht sehe.

Antwort 18 von ingo1

Danke,
werde ich die Tage tun