Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: SIGMA am Juli 28, 2015, 21:11:25

Titel: Datentypen - AutoWert
Beitrag von: SIGMA am Juli 28, 2015, 21:11:25
Hallo zusammen,

ich bin aktuell dabei mein ERM in Relationen umzuformen. Ich habe da zwei fragen zu dem Datentyp Autowert.

1) Ein Entitätstyp heißt "Auftrag". Dieser soll beim Erstellen  eine "Auftrags_Nr." zur eindeutigen Identifizierung erhalten. Die Auftrags_Nr. soll  folgendes Format haben "####-jjjj.mm". Leider bekomm ich das mit dem AutoWert nicht hin. Entweder zählt mir Acces das Datum (allerdings auch nicht beim aktuellen startend) oder die Zahl hoch. Ich würde jedoch gerne realisieren, dass die Zahl inkrementell +1 hoch zählt und das Datum ensprechend dem aktuellen Monat und Jahr ist. Kennt jmd. von euch eine Lösung dafür? Ist das mit dem AutoWert überhaupt möglich?

2) Ich habe drei Entitäten die die Beziehung "part_of" haben(Bsp. "Teil" "part_of" "Anlage"). Jeder Datensatz soll wiederum zur eindeutigen Identifizierung einen Zahlenwert bekommen.
Ich hätte es gerne folgendermaßen dargestellt:
- Entitätstyp "Anlage" hat das Attribut "Anlagen_Nr." mit dem Format "X00"
- Entitätstyp "Anlagenteil" hat das Attribut "Anlagenteil_Nr." mit dem Format "XY0"  (von der dazugehörigen Anlage wird die Variable X übernommen und die neu Y Variable vergeben)
- Entiätstyp "Teil" hat das Attribut "anlagenteil_Nr." mit dem Format "XYZ" (analog zu oben)

Ich kann bei dem Autowert jedoch keine Beziehung zu einem vorherigen Entitätstyp festlegen? Geht das? Wenn ja, wo kann ich das nachlesen? Ich habe nicht viele Datensätze (ca. 50) lohnt sich der Aufwand dafür?

alt. kann mir jmd. einen Link zu Verfügung stellen, wo die ganze Datentyp Thematik mit Formatierung usw. gut und detailiert erklärt ist?


Vielen Dank im Voraus!

grüße
SIGMA
Titel: Re: Datentypen - AutoWert
Beitrag von: MzKlMu am Juli 28, 2015, 23:12:41
Hallo,
mit dem Autowert geht das nicht. Ich würde aber trotzdem einen Autowert nehmen als Primärschlüssel. Der Autowert dient nur der eindeutigen Identifizierung eines Datensatzes und ist gar nicht sichtbar.
Die Fremdschlüsselfelder werden dann vom Datentyp LongInteger.
Zahlen sind wegen der Geschwindigkeit als Schlüsselfelder ohnehin zu bevorzugen. Und über diese Felder kannst Du dann die Beziehungen herstellen.

Völlig unabhängig von den Schlüsselfelder werden die anderen Felder zusammengesetzt.
Wobei hier zusammengesetzt wörtlich zu nehmen ist. Die Buchstaben weden von der jeweils übergordneten Tabelle übernommen und die Zählnummer hochgezeählt. Die zusammengesetzte Nr wird nicht gespeichert, sondern nur zusammengesetzt angezeigt.
1.Normalform > atomare Inhalte.

Für den Auftrag nimmst Du einen Autowert den Du einfach Nummer nennst. Die eigentliche Auftragsnummer wird in einer Abfrage zusammengesetzt und zwar so:
Auftrags_Nr: Format(Nummer;"0000") & Format(Auftragsdatum;"JJJJMM")Das Feld wird nur in der Abfrage erzeugt und nicht gespeichert. Auf den Punkt zwischen Jahr und Monat würde ich verzichten, allenfalls ein - oder ein /.