berechnete Spalten können nicht in Systembeziehungen verwendet werden

Hallo
Ich habe jetzt alles kontrolliert. Dieser Datensatz hat wie allen anderen Datensätze bei allen Feldern einen Eintrag.

Eigenartig (für mich) ist das wenn ich in der obigen Abfrage das Feld T_Kategorie.Kategorie (im SELECT und GROUP BY Befehl) weglasse also so
Code:
SELECT T_Sportart.ID,  T_Sportart.Streckenbezeichnung, T_Sportart.Streckenverlauf, T_Region.Region, T_Land.Land
FROM ((T_Land INNER JOIN T_Region ON T_Land.[ID_Land] = T_Region.[ID_Land]) INNER JOIN (T_Kategorie INNER JOIN T_Sportart ON T_Kategorie.[ID_Kategorie] = T_Sportart.[ID_Kategorie]) ON T_Region.[ID_Region] = T_Sportart.[ID_Region]) INNER JOIN T_Tagebuch ON T_Sportart.[ID] = T_Tagebuch.[Sportart_ID]
GROUP BY T_Sportart.ID,  T_Sportart.Streckenbezeichnung, T_Sportart.Streckenverlauf, T_Region.Region, T_Land.Land
ORDER BY  T_Sportart.Streckenbezeichnung;
dann ist der Datensatz vorhanden.

Evtl liegt das Problem ja ganz woanders.
Wenn ich nämlich nur die Tabelle T_Sportart aufrufen will bekomme ich jetzt die Fehlermeldung "Parameterwert eingeben" und Access will einen Wert für die ID.

Ich habe daher diese Tabelle nach Excel exportiert und auf Fehler durchsucht
Ergebnis:
  • es ist keine ID doppelt vorhanden
  • es fehlen einzelne IDs 832, (833 und 834 fehlen), 835, 836, (837 fehlt) 838, ...
  • der von mir gesuchte Datensatz ist nur einmal und wie folgt abgebildet

ID
ID_KategorieID_RegionStreckenbezeichnungStreckenverlaufHöhenmeterHöheEntfernungRundkurs
846232LanseralmInnsbruck-Igls-Heiligwasser Lanseralm68417125Falsch


Es gibt noch ein zweiten Datensatz mit derselben Streckenbezeichnung , aber anderer Kategorie

5321432LanseralmInnsbruck-Igls-Heiligwasser Lanseralm1100171214Falsch


Ich habe aber auch andere Datensätze mit derselben Streckenbezeichnung und sogar der selben Kategorie (aber unterschiedlicher Streckenverlauf) und da funktioniert die Auswahl im Formular trotzdem.
zB
48 2 32 Birgitzköpfl Adelshof-Birgitzeralm-Birgitzköpfl und retour 800 2004 FALSCH
49 2 32 Birgitzköpfl Axamer Lizum - Birgitzköpfl - Birgitzeralm - Axamer Lizum 450 2004 FALSCH



Hast du einen Idee?
Grüße
Markus
 
Zuletzt bearbeitet:
Werbung:
Hallo Andreas!

Und ich hätte noch einen Frage:
Wenn ich einen Aktivität einer falschen Sportart zugeordnet habe und den Datensatz abgespeichert habe.
Wie kann ich nachträglich bei meinen verknüpften Tabellen bei einer Aktivität die Sportart ändern.

Ich dachte das geht mit einer Aktualisierungsabfrage (suche nach der Aktivität) und dann die ID der Sportart ändern.
Da bringt Access aber einen Fehlermeldung
 
Hallo Andreas!

Zurück vom Urlaub bin ich jetzt auf noch ein Problem gestoßen:

Wenn ich eine Tabelle aus Excel nach Access importiere kann ich beim Importieren eine Spalte in Excel als Primärschlüssel definieren. Allerdings ist diese Spalte in Access dann Felddatentyp: Zahl und kann nicht mehr als AutoWert geändert werden (was ja notwendig ist damit bei neuen Datensätzen automatisch einen neue ID generiert wird).

Es gibt es zwar die Möglichkeit in Access dann eine neue ID als Autowert anzulegen und den Primärschlüssel dann auf diese neue Spalte umzulegen.
Aber bei meiner Tabelle T_Sportart habe ich das Problem, dass diese neu angelegte Autowert-Spalte dann komplett andere Werte generiert als die ID, nach der ich die Exceltabelle bzw. die Tabelle T_Sportart sortiert habe. (siehe Screenshot)

Und damit würde die Beziehung zur Tabelle T_Tagebuch nicht mehr stimmen, da ich die ID in T_Sportart als Verknüpfung zur Tabelle T_Sportart verwende.

Gibt es da einen Lösung?

Grüße Markus
 

Anhänge

  • Screenshot_ID.webp
    Screenshot_ID.webp
    5,3 KB · Aufrufe: 0
Hallo Markus,
Autowertfelder sind nicht beeinflussbar. Werden Daten importiert darf das ID-Autowertfeld nicht importiert, bzw. angegeben werde. Access vergibt die Werte. Ein Primärindex muss nicht Autowert sein. Haupt- und Untertabelle lassen sich über die Eigenschaften der Beziehungen (1:n mit Aktualisierungsweitergabe und in bestimmten Fällen mit Löschweitergabe) synchronisieren.
 
Werbung:
Hallo
Danke, ich meinte etwas anderes:
Möglichkeit a) Wenn die IDs mit denen ich die Tabellen verknüpfe glz der Primärschlüssel (=Autowert) ist, dann hat das den Vorteil, dass wenn ich eine neue Sportart anlege diese automatisch eine neue einzigartige ID=Primärschlüssel bekommt.

Möglichkeit b) Wenn ich zB in der Tabelle Sportart einen Primärschlüssel (Autowert) habe und zus. eine ID (die als Verknüpfung mit der Tabelle Aktivität dient) , dann muss ich ja selber bei Eingabe einer neuen Sportart eine neue ID eingeben (evtl auch über eine Prozedur nach der höchsten ID suchen und dann eine um 1 erhöhte ID generieren) und muss gewährleisten dass ich keine ID doppelt habe.

a) funktioniert jetzt auch. Ich sortiere die Excel Tabelle nach meiner ID. Füge dann beim Importprozess einen von Access kreierten Primärschlüssel hinzu. Der ist gleich meiner ID. Benenne dann den von Access generierten Primärschlüssel als ID, lösche meine ID und verwende diese von Access generierte ID dann für die Beziehungen.

Warum das letzte Woche nicht funktioniert hat (der von Access kreierte Primärschlüssel hat nicht meiner ID zusammen stimmt) weiss ich auch nicht.

Grüsse
Markus
 
Zurück
Oben