Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Checkboxen für Mehrfachauswahl?

Begonnen von derilzemer, Januar 10, 2016, 11:16:50

⏪ vorheriges - nächstes ⏩

derilzemer

Hallo,
eine funktionale Quartett-DB mit professioneller Hilfe aus diesem Forum unter Access 2013, Win7 Ult. sind die Basis.
Ich habe nun noch die Anforderung an die DB, dass ich einem Spiel noch Zusatzkarten zuordnen will. Das bedeutet, ein Spiel kann n Zusatzkarten in Form von Regelkarte, Farbkarten, Leerkarten, Karten für ein Zusatzspiel etc. haben. Es sind also unterschiedliche Variationen möglich, welche aber auch Verlags abhängig sind.
Beispiel. Verlag ABC hat Spiele mit Regelkarte und 2 Farbkarten, Verlag DEF hat 1 Regel und 1 Werbekarte und Verlag XYZ hat Regelkarte und 2 Zusatzspielkarten usw.
Die Tabelle dafür habe ich erstellt, sodass die Sache mit der Verlagsabhängigkeit geklärt ist. Ein Bild der Beziehungen der Tabellen hängt an.
Mein Problem ist, dass ich aufgrund der Konstellationen nicht weiß, wie ich das im Formular unterbringen soll. Ich kann Felder genieren, wo ich die Anzahl unterbringe, aber wie mache ich das mit den unterschiedlichen Karten, mit Checkboxen? Ein Kombinationsfeld gibt mir nur die Möglichkeit eine Zusatzkartenart auszuwählen. Wenn ich mehrere habe geht das ja nicht. Wie kann man so etwas lösen? Vielen Dank vorab für eure Hinweise und Tipps.

mfG
Andreas
Grüße und Dank im voraus
Andreas

MzKlMu

#1
Hallo,
ich mal wieder.  ;D
die Ja/nein Felder sind ungeeignet, die kannst Du mal gleich wieder bei Seite legen.
ZitatVerlag ABC hat Spiele mit Regelkarte und 2 Farbkarten, Verlag DEF hat 1 Regel und 1 Werbekarte und Verlag XYZ hat Regelkarte und 2 Zusatzspielkarten usw.
heißt das auch jedes Spiel hat immer alle diese verlagsabhängigen Zusatzkarten, oder nur teilweise ?
Für die Zusatzkartenart solltest Du eine extra Tabelle anlegen in deren PS in der Tabelle "tblZusatzkarten" als FS ablegen. Die Beziehung von der ZusatzkartenID zur tblSpiel ist falsch. Wie Du ja bereits richtig erkannt hast, könntest Du ja nur eine Zusatzkarte speichern.
Du brauchst dann noch eine weitere Tabelle, als Zwischentabelle (n:m) zwischen Spiele und Zusatzkarten, in der die zutreffenden Zusatzkarten als jeweils ein Datensatz gespeichert werden (FS zu Spiele und FS zu Zusatzk.). Das Auswahlkombi zur Auswahl der Zusatzkarten kann dann verlagsabhängig gemacht werden. Du kannst dann beliebig viele Zusatzkarten speichern. In diese Tabelle kommt dann auch die Menge.
Dieses Prinzip gibt es bereits mehrfach in Deiner DB, es ist sinngemäß genau wie die Tabelle "tblBildZuSpiel", diese Tabelle könnte dann "tblZusatzKarteZuSpiel" heißen.
Gruß Klaus

derilzemer

#2
Hallo Klaus,
hoffe es geht dir "wieder" besser :-), hört sich zumindest so an  :). Okay lass mich mal rekapitulieren, die vielen Abkürzungen verwirren mich etwas. Ich sag jetzt nicht ich bin schon über 50, sonst kommst du mit deinem Alter und holst mich wieder runter von dem Ross  ;).
Innerhalb eines Verlages gibt es ja Serien und manche der Serien haben eben solche Zusatzkarten. Zusatzkarten wie Regelkarten sind bei ~80% dabei. Deine Frage zu Beginn ist also mit nein zu beantworten.
Mit PS und FS meinst du wohl Primary und Fremdschlüssel, oder? Dann erstelle ich eine neue Tabelle für die Zusatzkartenart und definiere in der tblZusatzkarten das Feld Zusatzkartenart als Fremdschlüssel, richtig? Jetzt habe ich mal umgebaut, aber es hakt bei der n:m Beziehung und dem Verlagsabhängigen, ob ich das richtig definiert habe. Da ich die n:m nicht hinbekomme wohl eher nicht :-(. Wo habe ich welchen Wert falsch platziert, oder muss ich noch einen FS in der tblZusatzkarten ZusatzKarteZuSpieID_F erzeugen? Ist der FS des Verlag in der richtigen Tabelle oder muss er dann eher in die ZusatzKarteZuSpiel rein, weil ich da ja eigentlich definiere. Ein Bild der aktuellen Tabellenstruktur hängt an.Danke für die Unterstützung.

Gruß Andreas
Grüße und Dank im voraus
Andreas

MzKlMu

Hallo Andreas,
ich habe mal die Beziehungen ergänzt. Du willst ja zu jedem Spiele die mögliche Zusatzkartenart, also z.B. die Regelkarte. Es muss also die Kartenart als Fremdschlüssel (FS) gespeichert werden. Das Kombi das diesen Fremdschlüssel wählt wird über die VerlagID_F gefiltert, dass nur die Zusatzkarten zur Auswahl angeboten werden, die in der Tabelle "tblZusatzkarten" diesem Verlag zugeordnet sind. Dieses Kombi muss als Datenherkunft eine Abfrage haben mit der Tabelle "tblZusatzkarten" und der Tabelle "tblZusatzkartenArt". Von letzterer Tabelle wird nur das Fremdschlüsselfeld zum Verlag aufgenommen über das dann gefiltert wird. In einem Unterformular kannst Du dann die Zum Spiel vorhanden Zusatzkarten auswählen.

Siehe Bild.
Gruß Klaus

MaggieMay

Hallo Andreas,

meinem Verständnis nach gehört die Mengenangabe in die Tabelle "tblZusatzkarten". Möglicherweise wäre es sogar sinnvoll (im Sinne einer vereinfachten Auswertung), hier sämtliche möglichen Zusatzkarten pro Verlag zu speichern, und wenn sie nicht vorkommen dies mit der Menge "0" kenntlich zu machen. (Nur so eine Idee, Klaus wird dem sicherlich widersprechen wollen...)

Zitatmanche der Serien haben eben solche Zusatzkarten. Zusatzkarten wie Regelkarten sind bei ~80% dabei.
Wie willst du das denn bei der Erfassung berücksichtigen, wenn diese Zusatzkarten kein "Muss" sind? Willst du lediglich prüfen, ob eine bestimmte Zusatzkarte in Art und Anzahl für ein Spiel eines bestimmten Verlages zulässig ist?
Freundliche Grüße
MaggieMay

derilzemer

Hi,
ich blick es noch nicht wirklich wegen der Beziehung. Da bin ich grade dran zu verstehen, sofern ich das hin bekomme.

ZitatWie willst du das denn bei der Erfassung berücksichtigen, wenn diese Zusatzkarten kein "Muss" sind? Willst du lediglich prüfen, ob eine bestimmte Zusatzkarte in Art und Anzahl für ein Spiel eines bestimmten Verlages zulässig ist?
Nein, wenn Zusatzkarten dabei sind, werden die erfasst. Es dient letztendlich der Komplettierung. Dadurch bekomme ich den Fehlbestand geklärt. Wenn ich dann an solche Zusatzkarten dran komme, kann ich eben schnell filtern, bei welchen Spielen diese Karten fehlen. Welche Serien oder Spiele Zusatzkarten hat und wer nicht, das ist bekannt. Thats the reason why.

Gruiß Andreas
Grüße und Dank im voraus
Andreas

MzKlMu

Hallo,
ZitatKlaus wird dem sicherlich widersprechen wollen
jawolll ich wiederspreche.  ;D
Genau genommen sollte (der bisherigen Nomenklatur folgend) die Tabelle "tblZusatzKarten" "tblZusatzkartenArtZuVerlag" heißen.
Und die Menge gehört dort nicht rein, denn zu jedem Spiel kann es eine bestimmte Anzahl Zusatzkarten geben. Also das Spiel 4711 (ID) hat eine Regelkarte und 2 Farbkarten, das Spiel 4712 des gleichen Verlags hat aber nur eine Farbkarte und keine Regelkarte, wie sollen die unterschiedlichen Mengen Zusatzkarten bei unterschiedlichen Spielen erfasst werden, wenn die Menge in der "tblZusatzKarten" bzw. "tblZusatzkartenArtZuVerlag" ist ?
Diese Tabelle bildet ja nur ab was an Zusatzkarten je Verlag möglich ist, es muss aber gespeichert werden was vorhanden ist.
Daher ja meine obige Frage:
Zitat von: Klausheißt das auch jedes Spiel hat immer alle diese verlagsabhängigen Zusatzkarten, oder nur teilweise ?
Das wurde mit nein beantwortet. Also hat jedes Spiel individuelle Mengen gleicher Zusatzkarten. Die Menge sollte daher dort bleiben wo sie ist.

Und wo keine Zusatzkarte da ist, gibt es in der Tabelle "tblZusatzkarteZuSpiel" keinen Datensatz zu diesem Spiel.

Und wegen der Nomenklatur sollte die bisherige Tabelle "ZusatzKarteZuSpiel" dann in "tblZusatzKartenArtZuSpiel" umbenannt werden.
Gruß Klaus

MaggieMay

#7
ZitatNein, wenn Zusatzkarten dabei sind, werden die erfasst.
Das heißt, es findet keine Plausibilitätsprüfung statt und eine Tabelle mit den möglichen Zusatzkarten pro Verlag ist überflüssig?

ZitatWelche Serien oder Spiele Zusatzkarten hat und wer nicht, das ist bekannt.
Bekannt im Sinne von "das habe ich im Kopf" oder soll das doch in einer Tabelle festgehalten werden?

PS:
Ich hatte mir das so vorgestellt, dass die Zusatzkarten einzeln erfasst (und dokumentiert) werden. Wenn lediglich die Tatsache "Spiel x hat 2 Regelkarten" festgehalten werden soll, wozu dann die Vorgabe/Information, dass bei manchen Verlagen das so und bei anderen anders gehandhabt wird? Wenn "Menge" die tatsächliche Anzahl sein soll, so hätte ich zumindest eine "MaxAnzahl" in der Tabelle "tblZusatzkarten" für sinnvoll gehalten.

Andernfalls könnte man sich auch einfach von der Information
Zitatein Spiel kann n Zusatzkarten in Form von Regelkarte, Farbkarten, Leerkarten, Karten für ein Zusatzspiel etc. haben. Es sind also unterschiedliche Variationen möglich, welche aber auch Verlags abhängig sind.
Verlag ABC hat Spiele mit Regelkarte und 2 Farbkarten, Verlag DEF hat 1 Regel und 1 Werbekarte und Verlag XYZ hat Regelkarte und 2 Zusatzspielkarten usw.
lösen und sagen:
ZitatIch möchte die Möglichkeit haben, Zusatzkarten verschiedener Arten zu den Spielen zu speichern.
Punkt!
Freundliche Grüße
MaggieMay

MzKlMu

Hallo,
ZitatDas heißt, es findet keine Plausibilitätsprüfung statt und eine Tabelle mit den möglichen Zusatzkarten pro Verlag ist überflüssig?
aber diese Tabelle gibt es doch. Diese ist eigentlich nur notwendig, um nur solche Zusatzkarten auswählen zu können die zu dem Verlag gehören der dem Spiel zugeordnet ist. Daher wird dieses Kombi abhängig (über VerlagID_F) gefiltert.
Das habe ich weiter oben (in #3) schon geschrieben.
Gruß Klaus

derilzemer

Zitat von: MaggieMay am Januar 10, 2016, 18:33:19
ZitatNein, wenn Zusatzkarten dabei sind, werden die erfasst.
Das heißt, es findet keine Plausibilitätsprüfung statt und eine Tabelle mit den möglichen Zusatzkarten pro Verlag ist überflüssig?
So wie ich das verstehe und sehe, hilft mir die Tabelle zu erkennen, dass die Zusatzkarten in Serie XYZ fehlen, wenn ich ein Spiel aus der Serie erwerbe und erfasse. Also nein, die Tabelle ist nicht überflüssig, es sei denn ich verstehe die Frage nicht korrekt.
ZitatWelche Serien oder Spiele Zusatzkarten hat und wer nicht, das ist bekannt.
Bekannt im Sinne von "das habe ich im Kopf" oder soll das doch in einer Tabelle festgehalten werden?
In der Sammlergemeinde weiss man, dass die Serie +Minipuzzle 88 von Verlag Piatnik, definitiv 2 Puzzelkarten und eine Regelkarte hat. Dies kann/sollte dann meinen Verständnis nach in der Tabelle festgehalten werden, eben zumindest bei den Serien und somit den n Spielen der Serie, wo das bekannt ist.

Gruß Andreas
Grüße und Dank im voraus
Andreas

derilzemer

#10
hi,
ich habe mal die Tabellen namentlich angepasst. Aber es hakt bei mir, sprich bin nicht sicher ob ich falsch unterwegs bin.
Zitat von: MzKlMu am Januar 10, 2016, 17:50:26
Hallo Andreas, ich habe mal die Beziehungen ergänzt. Siehe Bild.
Ich hab jetzt ein Verständnisproblem. Dem Bild zu Folge, habe ich jetzt in der tblZusatzKarteZuSpiel das Feld ZusatzkartenID_F in ZusatzKartenartID_F umbenannt. Jetzt müsste ich eine Beziehung herstellen von tblZusatzkartenart dem PS Feld zur tblZusatzKarteZuSpiel zum FS ZusatzKartenArtID_F. Das ist aber nciht die von dir zu Anfang angesprochene n:m Beziehung. Das versteh ich jetzt nicht, eben ein Verständnisproblem :(. Schau mal das Bild.

Gruß Andreas
Grüße und Dank im voraus
Andreas

MaggieMay

@Klaus:
ZitatDiese ist eigentlich nur notwendig, um nur solche Zusatzkarten auswählen zu können die zu dem Verlag gehören
Und wo bleibt da die Anzahl?

PS:
Ich mach jetzt erstmal Pause, ihr seid mir zu schnell! ;-)
Freundliche Grüße
MaggieMay

MzKlMu

Hallo,
ZitatDas ist aber nciht die von dir zu Anfang angesprochene n:m Beziehung.
doch, natürlich ist das diese n:m Beziehung. Siehe Bild.
Ich habe da nur nicht so auf die Nomenklatur geachtet.

@MaggieMay
Eine Anzahl wäre nur erforderlich wenn jeder Verlag zu jedem Spiel immer nur eine bestimmte (die gleiche) Anzahl zusatzkarten hat. Aber das ist ja nicht der Fall, mal gibt es 2 Farbkarten mal keine oder nur eine.
Daher ist eine Anzahl in dieser Tabelle nicht erforderlich.

Gruß Klaus

derilzemer

Hi,
hab ich jetzt so auch gemacht, samt der Nomenklautur. Bin eben irritiert, weil er eben 1:n anzeigt im Fenster :(, siehe Bilder.

Gruß Andreas

Grüße und Dank im voraus
Andreas

derilzemer

Zitat von: MaggieMay am Januar 10, 2016, 18:44:12
PS:
Ich mach jetzt erstmal Pause, ihr seid mir zu schnell! ;-)
Ich wurde auch gerade ein wenig erschlagen von der Menge :). Mit dem schnellen habt ihr euch beide nichts geschenkt.

Gruß Andreas
Grüße und Dank im voraus
Andreas