PDA

Vollständige Version anzeigen : Schlüsselproblem


Armin G
02.08.2001, 09:07
Hallo,

ich habe in einer Tabelle neben dem Primärschlüsselfeld ID, zwei weitere Felder, in denen ein Datum und eine Zahl zwischen 1 und 10 eingegeben werden soll. Die Kombination aus beiden Feldern darf aber in der Tabelle nur EINMAL vorkommen. Ist das möglich oder geht das nur, wenn ich beide als Mehrfachprimärschlüssel definiere ??

Vielen Dank

Kurt aus Kienitz
02.08.2001, 10:45
Hallo Armin,

Erstelle ein Abfrage die ungefähr so aussieht:

CREATE UNIQUE INDEX ON DeineTabelle (DatumFeld, ZahlFeld);

Abfrage einmal ausführen und fertig.

HTH

Armin G
02.08.2001, 12:57
Sorry, aber ich blick da nicht ganz durch, was soll diese Abfrage genau bewirken ??
Die Tabelle bleibt doch vollkommen unerührt oder irre ich mich ?

Kurt aus Kienitz
02.08.2001, 13:08
Hallo Armin,

Die Abfrage legt einen neuen Index auf die Tabelle, der dafür sorgt daß die Kombination aus Datum und Zahl nur einmal in die Tabelle eingegeben werden kann.

Ich habe allerdings was wichtiges vergessen, den Namen des Index.

CREATE UNIQUE INDEX IndexName ON DeineTabelle (DatumFeld, ZahlFeld);

Armin G
02.08.2001, 15:06
Aha, also genau das was ich brauche, aber kann ich das nicht direkt in der Entwurfsansicht der Tabelle irgendwie eingeben ?!

Kurt aus Kienitz
02.08.2001, 15:13
Wenn Du für die Tabelle keinen Primärschlüssel definiert hast, dann kannst Du im Tabellenentwurf die beiden Spalten selektieren und über das Menü Bearbeiten diese als Primärschlüssel festlegen. Hat den selben Effekt.

Wenn Du schon einen Primärschlüssel definert hast geht daß nur über eine Abfrage oder über eine VBA-Prozedur.
In der Prozedur dann über

CurrendDb.Execute "CREATE UNIQUE INDEX......

Armin G
02.08.2001, 21:26
Achso, ja die Primärschlüsselerstellung ist mir schon bekannt, die Frage ist nur, ob es sinnvoll ist diese beiden Felder als Mehrfachprimärschlüssel zu verwenden. Eindeutig sind sie ja, aber ich sträube mich immer dagegen ein Feld vom Typ Datum in den Primärschlüssel aufzunehmen !! Wie siehst Du das denn ?

Kurt aus Kienitz
03.08.2001, 08:12
Hallo Armin,

Das muß wohl Gedankenübertragung sein, habe nämlich Gestern, auf dem Heimweg auch darüber nachgedacht (man hat ja sonst nicht's zu tun :) ).

Ein Datum im Schlüssel ist schon OK, wenn man beachtet was man damit vor hat. Meint, wenn man ein entsprechendes Format auf das Datum legt.
Wenn man tagesgenau sein möchte sollte man das Format tt.mm.jjjj verwenden usw. und so fort.
Ohne Formatangabe steht ja neben dem Datum auch die Uhrzeit mit im Feld und da kann man schon Überraschungen erleben.

Armin G
03.08.2001, 12:14
Ok, vielen Dank Kurt aus Kienitz :-)