Office: (Office 2007) Mehrfachzuweisung

Helfe beim Thema Mehrfachzuweisung in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; von Atrus2711 Die Eingabe der 30 Werte kann nun auf drei Wegen passieren: "fachbasiert": Ausgehend von einem Hauptformular, das die Fächer zeigt,... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von MJean, 23. Februar 2011.

  1. Mehrfachzuweisung


    wenn ich das jetzt neu baue, verstehe ich immer noch nicht wie du die Eingabe machen würdest.

    Dein Beispiel weitergedacht.

    Du hast 500 Schüler und willst davon 5 Stück für 1 Fach auswählen.
    Wie würdest du das jetzt umsetzen?
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  2. Dann würde ich mir einen "Generator" bauen, der mir leere Dummysätze aus den 5 Schülern (z.B. aus Listbox) für das gewünschet Fach (z.B. aus Hauptform) erzeugt.

    Schema:
    Code:
    Ein bedingtes Kreuzprodukt also. Die Nummern sind die Kennziffern für das Fach und die 5 gewählten Schüler.
     
    Atrus2711, 28. Februar 2011
    #32
  3. Ist Ergebnisse hier eine Tabelle oder?

    Ich glaub mit dem Beispiel könnte man mein Problem die Messung besser mit einer Prüfung vergleichen.

    Ich hab eine Prüfung wo ich mehrere Fächer und mehrere Schüler auswähle.
    Wichtig hierbei ist aber das eine Prüfung als 1 Ereignis (ID) vorhanden ist.

    Außerdem kann ein Schüler (Komponente) mehrmals eine Prüfung schreiben wo Fächer mehrmals mit unterschiedlichen Ergebniss vorkommen.

    Mit dem Schulbeispiel kann man das viel besser beschreiben *Smilie

    Sind diese Anforderungen mit eurem System erfüllbar? Muss ich dann immer mit Unterformularen arbeiten?
     
  4. Mehrfachzuweisung

    Ja, Ergebnisse ist eine Tabelle.

    Also einer Sammlung von zu absolvierenden Fächern.

    Sprich: die Schüler 1, 5 und 34 werden der Prüfung A (Abitur) unterzogen, wofür sie in den den Fächern X, Y und Z antreten müssen. Es resultieren aber für jede Fach-Schüler-Kombi einzelne Ergebnisse (Schüler Meier hat Deutsch 1, Mathe 3, Sozialkunde 2). Das Gesamtergebnis für Schüler Meier wird irgendwie aus seinen 3 Fachnoten ermittelt.

    Sag ich doch.

    Ja. Die "zu absolvierenden Fächer" für "Abitur" müssten dann noch in zwei weiteren Tabellen aufgeführt werden:

    Bisher:
    Schüler 1:n Ergebnisse n:1 Fächer
    zusätzlich dann noch:
    Abschlüsse 1:n Abschlussfächer n:1 Fächer (= Abschlüsse (Abitur, mittlere Reife etc) und die (mehreren!) Fächer, die dafür zu absolvieren sind).
     
    Atrus2711, 28. Februar 2011
    #34
  5. Wor ich verzweifel schon wieder. Ich glaub ich bin zu blöd für Datenbanken.

    Ich bau des grade neu, aber ich häng wieder weil es nicht so etwas wie Abschlüsse gibt. Es gibt einfach unabhängige Prüfungen immer und immer wieder (Messungen)

    Und selbst wenn ich das so auflöse mit dieser Ergebnisse Zwischentabelle. Muss ich ja wieder zu 1 Messung mehrere Ergebnisse zuordnen. Ich ende immer wieder egal wie weit ich das aufsplitte in einer Mehrfachauswahl/-zuweisung.

    Ich glaub das geht hier nicht weil es nicht immer wieder 1 Abitur gibt sonder immer eine komplett neue Prüfung. Es gibt kein schema bei mir. Das ist rein dynamisch.
     
  6. Ich weiss nicht, ob es Dir weiterhilft aber ich habe im Code Archiv eine Demo DB hinterlegt mit einfachsten Formularen um m:n Verknüpfungen darzustellen und zu bearbeiten.
     
    hcscherzer, 28. Februar 2011
    #36
  7. Hi,

    ja, an der Datenerfassung kommst du halt nicht vorbei. Wie sonst soll Access die Daten erhalten? Telepathie? *confused.gif* Du kannst die Tipparbeit allenfalls durch Unterformulare, Generatoren und andere Hilfsmittel erleichtern; vielleicht gibt es ja auch Messprotokolle der eingesetzten Messgeräten, die man auswerten könnte. Aber rein müssen die Daten auf jeden Fall. Von nix kommt nix.

    Auch ok, aber irgendeinen "Plan" dessen, was gemacht werden soll, wird es ja geben. Oder testet ihr, was euch gerade einfällt? Du kannst aber auch einfach statt "Abitur" folgendes als "Prüfung" ansetzen: "Messreihe vom 01.03.2011, 10:00 Uhr". Egal wie es heißt: das Ding liefert Ergebnisse für Komponenten.
     
    Atrus2711, 28. Februar 2011
    #37
  8. Mehrfachzuweisung

    Ja aber damit sagst du doch auch, dass ich am Ende ein Feld in einer Endtabelle hab mit Mehrfachauswahl ?

    Mir ist vollkommen klar, dass ich die Daten eingeben muss. Das will ich ja auch irgendwann machen, aber ich dachte es funktioniert nicht mit Mehrfachauswahl und ich sollte sie auflösen. Jetzt bin ich echt verwirrt *Smilie

    Ich hab jetzt nochmal ein Beispiel wie ichs machen würde hochgeladen. Ist das jetzt richtiger?
     
  9. In einer guten Datenbank gibt es kein Feld, das Mehrfachwerte enthält.

    Feldwerte wie "17;28;903" in derselben Zelle sind Anzeichen für eine m:n-Beziehung, die nicht aufgelöst wurde.

    Ich habe nirgends ein Mehrfachwertfeld propagiert. Die Ergebnistabelle ist die Auflösung der m:n-Beziehung. Und die kommt daher ohne Mehrfachwerte aus.

    Die tblGesamtergebnis enthält immer noch Mehrfachwerte. Was soll diese Tabelle darstellen? Die "Abiturnote"? Oder die "Parameter der Prüfung" (Umgebungstemperatur, erlaubte Hilfsmittel, Bearbeitunsgzeit etc).

    Es kann doch nicht so schwer sein:
    • Jeder Messwert ist eine Zeile in den Ergebnissen.
    • Die Ergebnisse nennen gemessene Größe, gemessener Wert, gemessene Komponente.
    • die Ergebnisse können, wenn sie derselben Messsitzung entstammen, eine SitzungsID bekommen. Das könnte z.B. sein, wenn die Komponente heute und morgen gestestet wird (2 Sitzungen).
     
    Atrus2711, 1. März 2011
    #39
  10. Ok sorry das war mein einziger Denkfehler eigentlich. Ich brauch einfach noch eine ID für Messungen an sich.

    Ich geb jetzt jeder gemessenen Komponente noch eine ID einer Messung hinzu. Damit hab ich wieder eine 1:n Beziehung. Wow schwere Geburt. Sorry für das viele nerven, meine Dummheit hat mich auch selbst genervt *Smilie

    Jetzt kommen wieder die eigentlichen Access-Schönheitsfragen:
    Wie erstelle ich ein schönes Formular zum Eingeben der Messung.

    Meine Idee:

    Formular mit allen Werten die ich zu ner Messung noch angeben will (Datum, Bemerkung, etc. )
    Dann ein Button mit Komponenten eingeben, das ein Popup-Formular öffnet wo ich Komponenten hinzufüge. Das Feld mit der Mess-ID wird dann immer automatisch befüllt bzw. könnte im Hintergrund passieren.

    Habt ihr bessere Ideen aus eurer Erfahrung wie man es am schönsten macht.

    Nochmal danke und sorry! *Smilie
     
  11. Was nervt, sind die ständigen Selbstbeleidigungen ("Sorry für das viele nerven")...

    Zeig erstmal das Datenmodell her, bevor du da bunte Formulare draufsetzt.
     
    Atrus2711, 1. März 2011
    #41
  12. Alles klar. Hier nochmal das Datenmodel
     
  13. Mehrfachzuweisung

    Hi,

    ja, das sieht gut aus. Allerdings solltest du die Nachschlagefelder im Tabellenenentwurf vermeiden. Solche Kombis kannst du im Formular gerne einbauen, aber im Tabellenentwurf verschleiern sie die Datenhaltung.

    Zum Formular:

    Ich würde ein Formular bauen, in dem du die Messergebnisse eingeben kannst. Wenn das klappt, kannst du dran gehen, den Gererator zu bauen, der die "Dummysätze" anlegt, die du dann nur noch ausfüllen musst (siehe mein Beitrag vom 28.02.2011 16:43).
     
    Atrus2711, 1. März 2011
    #43
  14. Ok, danke.

    Aber irgendwie klappt das nicht.
    Er fügt mir nix in die Tabelle

    Code:
    Ich hab das jetzt schon gegoogelt. Aber es sollte so gehen. Was mach ich da falsch?
     
  15. Versuch mal das:

    Code:
    (Annahme: alle Felder sind ganzzahlig. Wenn es andere Datentypen sind oder Kommas auftreten können, meld dich nochmal).

    Woher kommt varMaxIDMessung? Diese Variable sollte einen Wert bekommen, bevor sie in die Tabelle geschrieben wird.

    Aber auch damit kriegst du immer nur eine Zeile eingefügt. Wolltest du nicht mehrere auf einmal einfügen (analog #32)?
     
    Atrus2711, 1. März 2011
    #45
Thema:

Mehrfachzuweisung

  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden