collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 62
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 13914
  • stats Beiträge insgesamt: 65797
  • stats Themen insgesamt: 8880
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Über JOIN-Tabelle nachgeschlagener Wert ändert Datensatz der Quell-Tabelle  (Gelesen 783 mal)

Offline TobiasW

  • Newbie
  • Beiträge: 2
Hallo zusammen,
wie wahrscheinlich nicht schwer zu erkennen ist, bin ich neu hier  :)
Der Grund meiner Anmeldung ist relativ einfach: ich versuche mit Access 2010 ein Formular zu erstellen und komme an einer Stelle nicht weiter und würde mich riesig über eure kompetente Hilfe freuen!
Ich habe auch die Suche bemüht, weiß aber nicht so recht, wonach ich eig. suchen soll bzw. wie man mein Problem korrekt bezeichnet.

Erst mal zum System:
Es handelt sich um eine MySQL-Datenbank, die per ODBC-Connector mit Access verbunden ist.
Es funktioniert soweit alles bestens: Datensätze lesen, ändern, erstellen, usw.

Der betroffenen teil des DB-Schemas sieht wie folgt aus:
Es gibt die Tabellen Produkt, Bewertungskriterium, MöglicheAusprägung und Ausprägung. (MöglicheAusprägung ist die JOIN-Tabelle (Assoziative Klasse) der n-m-Beziehung zwischen Bewertungskriterium und Ausprägung.
Ein Beispiel:
In der Tabelle Ausprägung stehen alle vordefinierten Ausprägungen, z.B. "JA" und "NEIN".
In der Join-Tabelle (assoziativen Klasse) MöglicheAusprägung steht, dass das Bewertungskriterium "LTE-fähig" die Ausprägungen "JA" und "NEIN" haben kann.

Im Formular soll dann folgendes zusammengestellt oder geändert werden können:
Das Produkt "Smartphone XYZ" hat für das Bewertungskriterium "LTE-fähig" die Ausprägung "NEIN".

Was ich mittlerweile hinbekommen habe ist, dass das Nachschlagen der möglichen Ausprägung abhängig vom gewählten Bewertungskriterien funktioniert. (per Select-Statement)
Lege ich also ein neues Produkt an und wähle das Bewertungskriterium "LTE-fähig" bekomme ich als mögliche Ausprägung nur "JA" und "NEIN" zu Auswahl angezeigt.

Das Problem dabei ist folgendes:
In der Produktliste gibt es mehrere Einträge/Produkte. Einige haben "JA" andere "NEIN" für unterschiedliche Bewertungskriterien.
Ändere ich jetzt bei EINEM Bewertungskriterium die Ausprägung von "JA" auf "NEIN", werden AUCH ALLE ANDEREN "JA" auf "NEIN" geändert.
Die Änderung betrifft also nicht nur, den aktuellen Datensatz, sondern ändert die Zuordnung des Primärschlüssels zum Text (wenn man das so sagen kann).
Ändere ich den einen Datensatz erneut, mache ich die Änderung rückgängig. (Die Ausprägungen, die vorher schon "NEIN" lauteten, bleiben auch "NEIN".
Daher meine Folgerung, dass die Änderung anhand der Primärschlüssel erfolgt und nicht aufgrund des "Textes".

Kann man dieses Problem mit den Boardmitteln von Access 2010 lösen oder braucht man dazu VBA oder ähnliches?

Ich wäre für jeden Tipp äußerst dankbar!

Viele Grüße
Tobias
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7202
Hallo,
Du musst darauf achten, dass das Fremdschlüsselfeld der Tabelle MöglicheAusprägung gefüllt wird, diese Tabelle ist ja die Zuordnungstabelle.
Es empfiehlt sich daher, das Fremdschlüsselfeld eindeutig zu benennen, z.B. mit einem angehängten _F.
Überhaupt, sollte es in einer Datenbank keine gleichnamigen Felder geben, um solcher Verwechselungsgefahr zu begegnen.
Gruß
Klaus
 

Offline TobiasW

  • Newbie
  • Beiträge: 2
Vielen Dank für die schnelle Antwort.

Allerdings kann es daran leider nicht liegen. Die Join-Tabelle ist komplett gefüllt und alle Felder sind eindeutig benannt.

Ich denke nicht, dass es an der Datenbank selber liegt, sondern am Access bzw. am Formular oder an einer vorgelagerten Abfrage.

Würde mich daher über weitere Tipps sehr freuen!

Und noch eine Frage am Rande: Gibt es im Forum Profis, die evtl. gegen Bezahlung weiterhelfen können bzw. das Problem direkt beheben?
 

Offline bahasu

  • Moderator
  • Access Guru
  • *****
  • Beiträge: 1885
Hi,

Gibt es im Forum Profis, die evtl. gegen Bezahlung weiterhelfen können bzw. das Problem direkt beheben?

siehe: http://www.access-o-mania.de/forum/index.php?topic=6969

Harald
Servus
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7202
Hallo,
die ganze Schilderung deutet auf ein falsches Fremdschlüsselfeld. Ich würde fast eine Wette eingehen, dass es so ist. Trotz der Beteuerung.
Gruß
Klaus