![](/forum/profile/get-photo.asp?memberid=27&type=profile&rnd=376) Elite Veteran
Beiträge: 860
![500](http://www.donkarl.com/forum/images/decorations/multiple/500.gif) ![100](http://www.donkarl.com/forum/images/decorations/multiple/100.gif) ![100](http://www.donkarl.com/forum/images/decorations/multiple/100.gif) ![100](http://www.donkarl.com/forum/images/decorations/multiple/100.gif) ![25](http://www.donkarl.com/forum/images/decorations/multiple/25.gif) ![25](http://www.donkarl.com/forum/images/decorations/multiple/25.gif) Ort: Wien | Hallo!
domi5599
ich wollte mit einem CREATE TABLE STATEMENT gleich eine 1:n Beziehung zu einer vorhandenen Tabelle erstellen,
aber Access kommt mir mit diesem Fehler: ,,Für Beziehung ist die dieselbe Anzahl an Feldern mit den denselben Datentypen erforderlich"
Statement:
CREATE TABLE Buchung
(
Buchungsnummer Integer,
Standort String,
Name String,
Tag DateTime,
Fahrzeugtyp String,
Fahrzeugnummer Integer,
Bezahlt Bit,
PRIMARY KEY (Buchungsnummer, Name, Tag),
FOREIGN KEY (Name) REFERENCES Kunde
ON UPDATE CASCADE,
FOREIGN KEY (Buchungsnummer) REFERENCES Fahrzeug
ON DELETE SET NULL ON UPDATE CASCADE,
FOREIGN KEY (Tag) REFERENCES Fahrzeug
ON DELETE SET NULL ON UPDATE CASCADE
);
Das ironische ist, dass der erste Fremdschlüssel ohne Probleme funktioniert und auch richtig arbeitet.
Aber die beiden anderen zur Tabelle Fahrzeug wollen einfach nicht arbeiten.
Sowohl in der Tabelle Fahrzeug, als auch in der eigentlich zu erstellenden Tabelle Buchung haben die Spalten Buchungsnummer und Tag den selben Datentyp.
Fahrzeug Spalten:
Fahrzeugtyp (String)
Fahrzeugnummer (Integer)
Buchungsnummer (Integer) Primary Key
Standort (String)
Tag (DateTime) Primary Key
Woher weißt du, dass Buchungsnummer in Fahrzeug ein Integer ist? Hast du ihn per SQL erzeugt oder in die Tabellen-Entwurfsansicht geschaut?
Ich frage, weil das "Integer" im CREATE TABLE Statement in Access einen Long Integer erzeugt, während "Integer" in der Entwurfsansicht einer Access-Tabelle ein Small Integer ist. Daher könnte das Typproblem kommen.
Wenn es das nicht ist, dann versuche mal, die Beziehung expliziter zu schreiben mit der Syntax Tabelle(Feldname):
FOREIGN KEY (Buchungsnummer) REFERENCES Fahrzeug(Buchungsnummer)
und
FOREIGN KEY (Tag) REFERENCES Fahrzeug (Tag)
Das kann zu anderen/aussagekräftigeren Fehlermeldungen führen.
Übrigens solltest du "Name" und "Tag" als Feldnamen vermeiden, weil sie Schlüsselwörter in Access sind.
----- Servus
Karl
*********
Access-Entwickler-Konferenz: https://www.donkarl.com/?aek
Access DevCon Vienna: https://www.donkarl.com/devcon
Access Forever: https://www.accessforever.org
Access News: https://www.youtube.com/playlist?list=PLVCeBbJIMDvdJ8ghMbEakJ6_EQyvy... |