MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 06.07.2018, 21:38   #1
magic1708
MOF Koryphäe
MOF Koryphäe
Standard Acc2016 - Tipps für Datenbankmodel

Hallo ich plane gerade ein neues Datenbank design.

Es geht darum, Prüfungsergbnisse mit einzel Punkten der Aufgaben zu erfassen.
Dies pro Fach und Schüler


Dachte folgendes.

tbl_Prüfling
tbl_Fach
tbl_Aufgaben

würden dann gern Aufgabe zu Fach verbinden 1:n
Und Prüfling zu Fach auch 1:n


Macht das so Sinn oder anders?


Liebe Grüße und vielen Dank

__________________

Gruß Matthias
magic1708 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 06.07.2018, 21:48   #2
hcscherzer
MOF Guru
MOF Guru
Standard

Zitat:

Aufgabe zu Fach verbinden 1:n

Umgekehrt wäre es imho besser, nämlich n:1 (in jedem Fach gibt es mehrere Aufgaben).

Zitat:

Prüfling zu Fach auch 1:n

Das ist OK. Jeder Prüfling wird in mehreren Fächern geprüft.

__________________

Freundlichen Gruß
Hans-Christian
-----------------------------------------
Oft erwünscht, selten beachtet: nach Erledigung des Problems den Thread als erledigt zu markieren
-----------------------------------------
Ich möchte nur Mitglied in einem Verein sein, der Leute wie mich nicht als Mitglied aufnimmt (Groucho Marx).
-----------------------------------------
Ab sofort regelmässig: MOF Stammtisch in Bremen. Näheres hier.
hcscherzer ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 07.07.2018, 22:13   #3
magic1708
Threadstarter Threadstarter
MOF Koryphäe
MOF Koryphäe
Standard

Müsste man was ergänzen, an was ich aktuell nicht denke?

Andere Klassen bzw. Fachrichtungen?

Quasi vor den Prüflingen? Oder vor den Fachern?

Achso, ich möchte später auf einem „Bericht“ die Einzelnen Punkte anzeigen lassen, dazu soll es Variable gruppen überschriften geben

1 Elektrotechnik
1.1 Aufgabe 1
1.2 Aufgabe 2

2 Fachgespräch
2.1 Aufgabe 3
2.2 Aufgabe 4

Etc
Etc

__________________

Gruß Matthias

Geändert von magic1708 (07.07.2018 um 22:18 Uhr).
magic1708 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 07.07.2018, 22:34   #4
hcscherzer
MOF Guru
MOF Guru
Standard

Zitat:

Andere Klassen bzw. Fachrichtungen?

Wenn es so etwas gibt und dies Auswirkung auf die zu prüfenden Fächer bzw. die Prüf-Aufgaben hat, dann musst Du diese Entitäten noch zusätzlich zwischen die Probanden und die Fächer oder die Aufgaben packen.

__________________

Freundlichen Gruß
Hans-Christian
-----------------------------------------
Oft erwünscht, selten beachtet: nach Erledigung des Problems den Thread als erledigt zu markieren
-----------------------------------------
Ich möchte nur Mitglied in einem Verein sein, der Leute wie mich nicht als Mitglied aufnimmt (Groucho Marx).
-----------------------------------------
Ab sofort regelmässig: MOF Stammtisch in Bremen. Näheres hier.
hcscherzer ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.07.2018, 08:01   #5
magic1708
Threadstarter Threadstarter
MOF Koryphäe
MOF Koryphäe
Standard

Hallo,

ich habe hier mal das Bezieungsmodel.

Ich denke das passt so nicht.... Könnte ich einen Tipp bekommen?
Angehängte Grafiken
Dateityp: jpg Zwischenablage02.jpg (16,5 KB, 14x aufgerufen)

__________________

Gruß Matthias
magic1708 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.07.2018, 08:45   #6
hcscherzer
MOF Guru
MOF Guru
Standard

Die drei Entitäten, die Du in #1 beschreibst, haben ja im Screenshot andere Namen.
Aber wenn ich es mir ansehe, dann entspricht die tblPruefung wohl dem, was Du zuerst als Fach bezeichnet hast.

Darin ist die ID überflüssig, die FachID würde doch als Primärschlüssel ausreichen.

Und die Beziehung ist falsch herum: ein Prüfling wird doch in mehreren Fächern geprüft, oder? So wie es jetzt ist, könnte einPrüfling die Prüfung mehrfach machen ...

Aber letztlich ist es eine m:n Relation - viele Prüflinge werden in vielen Fächern geprüft.

Das bedeutet: das Feld PruefungID muss aus tbl_Pruefling raus.
Die Tabelle tbl_Pruefung solltest Du umbenennen in tbl_Fach. Und da muss - wie erwähnt - die ID raus und FachID wird PK..
Stattdessen muss eine neue Tabelle tbl_Pruefung erstellt werden, die als m:n Relation fungiert. Sie enthält Fremdschlüssel zu tbl_Pruefling.PrueflingID und zu tbl_Fach.FachID. Und wohl auch das Datum der Prüfung. Möglicherweise die Gesamtnote.

Der Prüfungsinhalt - also das, was Du in #1 als Aufgaben bezeichnetest - muss als weitere Tabelle vorhanden sein und mit einem Fremdschlüssel zur Tabelle tbl_Fach versehen sein. Also statt PruefungID muss da FachID rein. Würde ich auch umbenennen in tbl_Aufgaben.

Und dann muss es eine weitere Tabelle geben für die tatsächlichen Resultate des jeweiligen Prüflings.
Diese ist dann wieder eine m:n mit Fremdschlüsseln zu tbl_Pruefungen und zu tbl_Aufgaben.

__________________

Freundlichen Gruß
Hans-Christian
-----------------------------------------
Oft erwünscht, selten beachtet: nach Erledigung des Problems den Thread als erledigt zu markieren
-----------------------------------------
Ich möchte nur Mitglied in einem Verein sein, der Leute wie mich nicht als Mitglied aufnimmt (Groucho Marx).
-----------------------------------------
Ab sofort regelmässig: MOF Stammtisch in Bremen. Näheres hier.
hcscherzer ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.07.2018, 08:57   #7
magic1708
Threadstarter Threadstarter
MOF Koryphäe
MOF Koryphäe
Standard

Hallo,

habe es mal versucht deiner Angabe nach zu ändern.

Ist das so wie du meinst?
Angehängte Grafiken
Dateityp: jpg Zwischenablage01.jpg (9,7 KB, 9x aufgerufen)

__________________

Gruß Matthias
magic1708 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.07.2018, 10:05   #8
magic1708
Threadstarter Threadstarter
MOF Koryphäe
MOF Koryphäe
Standard

So,

grade nochmal versucht, die Resultate mit einzubinden..


Wäre das so?
Angehängte Grafiken
Dateityp: jpg Zwischenablage01.jpg (13,4 KB, 8x aufgerufen)

__________________

Gruß Matthias
magic1708 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.07.2018, 10:10   #9
hcscherzer
MOF Guru
MOF Guru
Standard

Zitat:

Ist das so wie du meinst?

Ja, fast.
Das Feld Punkte_erreicht jedoch gehört nicht in die tbl_Aufgabe.

Denn in dieser Tabelle gibt es jede Aufgabe nur einmal. Das sind "Stammdaten". Genauso wie tbl_Fach und tbl_Pruefling. Welches Ergebnis willst Du darin speichern? Es machen ja mehrere Prüflinge die gleichen Aufgaben.

tbl_Pruefung sind Bewegungsdaten. Welcher Kandidat wird in welchem Fach geprüft. Und für das Ergebnis jeder Aufgabe muss es eine weitere Tabelle geben. tbl_Ergbnisse mit Fremdschlüsseln zu tbl_Pruefung und tbl_Aufgaben. Aber das hatte ich eigentlich in #6 beschrieben ...

/Edit:
Ah ja, hab's gerade gesehen, Du hast es nachgeholt ...

__________________

Freundlichen Gruß
Hans-Christian
-----------------------------------------
Oft erwünscht, selten beachtet: nach Erledigung des Problems den Thread als erledigt zu markieren
-----------------------------------------
Ich möchte nur Mitglied in einem Verein sein, der Leute wie mich nicht als Mitglied aufnimmt (Groucho Marx).
-----------------------------------------
Ab sofort regelmässig: MOF Stammtisch in Bremen. Näheres hier.

Geändert von hcscherzer (09.07.2018 um 10:12 Uhr).
hcscherzer ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.07.2018, 10:34   #10
magic1708
Threadstarter Threadstarter
MOF Koryphäe
MOF Koryphäe
Standard

Ich muss mich mal in das Datenbankmodell eindenken....

Ich habe jetzt folgenden Aufbau....

tbl_Resultat hat dann 2 FK und ein Feld für die Punkte....

Wie führe ich die Daten denn zusammen?

Hatte mal einen ersten versuch mit der qry_Resultat versucht. Hier habe ich dann aber 3 Einträge für die erreichten Punkte...
Angehängte Grafiken
Dateityp: jpg Zwischenablage01.jpg (13,7 KB, 4x aufgerufen)
Dateityp: jpg Zwischenablage02.jpg (15,7 KB, 2x aufgerufen)
Dateityp: jpg Zwischenablage03.jpg (5,7 KB, 2x aufgerufen)
Dateityp: jpg Zwischenablage04.jpg (7,1 KB, 2x aufgerufen)

__________________

Gruß Matthias
magic1708 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.07.2018, 11:51   #11
hcscherzer
MOF Guru
MOF Guru
Standard

In der Qry_Resultat muss freilich auch die tbl_Pruefung mit rein.
Auch wenn Du daraus keine Felder benötigst: für die Verbindung von Prüfling und Resultat brauchst Du sie.

__________________

Freundlichen Gruß
Hans-Christian
-----------------------------------------
Oft erwünscht, selten beachtet: nach Erledigung des Problems den Thread als erledigt zu markieren
-----------------------------------------
Ich möchte nur Mitglied in einem Verein sein, der Leute wie mich nicht als Mitglied aufnimmt (Groucho Marx).
-----------------------------------------
Ab sofort regelmässig: MOF Stammtisch in Bremen. Näheres hier.
hcscherzer ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.07.2018, 13:03   #12
magic1708
Threadstarter Threadstarter
MOF Koryphäe
MOF Koryphäe
Standard

Jetzt hänge ich wieder....


Ich möchte einem Pruefling zu einer Aufgabe Punkte zuweisen....

Lässt sich das nur über die FK´s machen?

__________________

Gruß Matthias
magic1708 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.07.2018, 15:58   #13
hcscherzer
MOF Guru
MOF Guru
Standard

Ein Formular.

Eine Kombo zur Auswahl des Prüflings.
Datenquelle
Code:

select id, nname & ", " & vorname from tbl_pruefling
Eine Kombo zur Auswahl des Fachs.
Datenquelle
Code:

select id, fach from tbl_fach
Eine Kombo für die Auswahl der Aufgabe.
Datenquelle
Code:

select id, kurztext from tbl_aufgabe
 where fach = forms("dein_formular")!cmb_fach
Es muss eine Ereignisprozedur geben:
Code:

sub cmb_fach_afterupdate()
  me.cmb_aufgabe.requery
end sub
Jetzt sollte es noch ein Textfeld geben zur Eingabe des Ergebnisses.
Und daran eine AfterUpdate Prozedur.
Code:

sub txt_ergebnis_afterupdate
dim id as long
dim filt as string
dim db as dao.database

  set db = currentdb
  filt  = "fach = " & me.cmb_fach & " and pruefling = " & me.cmb_pruefling

  if dcount("*", "tbl_pruefung", filt) = 0 then
    db.execute "insert into tbl_pruefung (fach, pruefling) values (" & me.cmb_fach & ", " & me.cmb_pruefling & ")"
  end if

  id = dlookup("id", "tbl_pruefung", filt)
  db.execute "insert into tbl_resultat (pruefung, aufgabe, punkte) values (" & id & ", " & me.cmb_aufgabe & ", " & me.txt_ergebnis & ")" 

end sub
Alles ungebundene Steuerelemente in einem ungebundenen Formular.
Etwas komplizierter wird es, wenn es den Datensatz mit dem Ergebnis der Aufgabe bereits gibt, das müsste eigentlich auch noch geprüft werden, denn dann muss ein update statt des zweiten insert stattfinden.

__________________

Freundlichen Gruß
Hans-Christian
-----------------------------------------
Oft erwünscht, selten beachtet: nach Erledigung des Problems den Thread als erledigt zu markieren
-----------------------------------------
Ich möchte nur Mitglied in einem Verein sein, der Leute wie mich nicht als Mitglied aufnimmt (Groucho Marx).
-----------------------------------------
Ab sofort regelmässig: MOF Stammtisch in Bremen. Näheres hier.

Geändert von hcscherzer (09.07.2018 um 16:35 Uhr).
hcscherzer ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.07.2018, 07:09   #14
magic1708
Threadstarter Threadstarter
MOF Koryphäe
MOF Koryphäe
Standard

Danke!

Habe es mal soweit nachgebaut.

Mit dem Formular lag ich gedanklich gar nicht so verkehrt.....

müsste ich die Herkunft bei Aufgabe per VBA setzten oder SQL Anweisung im Steuerelement.

Da mault er mir nämlich wegen dem Verweis auf das Kombifeld.


EDIT:

Code:

Private Sub cmb_fach_afterupdate()


Dim sqlc As String
 sqlc = "select id, kurztext from tbl_aufgabe where Fach_ID = " & Forms("frm_Eingabe")!cmb_Fach
 Me!cmb_Aufgabe.RowSource = sqlc



 Me.cmb_Aufgabe.Requery

End Sub

__________________

Gruß Matthias

Geändert von magic1708 (10.07.2018 um 07:13 Uhr).
magic1708 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.07.2018, 08:50   #15
magic1708
Threadstarter Threadstarter
MOF Koryphäe
MOF Koryphäe
Standard

Habe mal weiter mit rumgebastelt...


Geht offensichtlich nur über die ID Zuweisungen.... Naja... das ist ja auch ok..


Könnte ich das jetzt auch als Endlosformular darstellen?

Sprich alle Aufgaben zu einem Fach anzeigen... Hinten dran dann die Punkte eintragen.

Die Max Punkte habe ich mir auch anzeigen lassen zu aufgabe.....
Angehängte Grafiken
Dateityp: jpg Zwischenablage01.jpg (6,4 KB, 3x aufgerufen)

__________________

Gruß Matthias
magic1708 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:43 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.