PDA

Vollständige Version anzeigen : Keine Reihenfolge mehr im Autowert bei Replikation


Michi
02.11.2001, 14:30
Hallo Leute!
Folgendes Problem: Ich habe in meiner Tabelle einen Autowert als ID-Feld angegeben und Kundennummer genannt.

Das Feld ist inkrement, d. h. jeder neue Datensatz erhält schön sauber die nächstfolgende Nummer nach Reihenfolge (1,2,3,4...). Und das ist auch so gewollt.

Nun habe ich vor, die Datei auf dem Notebook durch die Gegend zu schleppen und Daten einzugeben, die dann auf den Großrechner übertragen/synchronisiert werden.

Jetzt habe ich gelesen, dass bei der scheinbar dabei notwendigen "Replikation" alle Autowert-Felder zu Zufallsfeldern werden. Inkrement ist dann nicht mehr möglich.

Dolle Sache: Der Kunde kann also künftig eine 17stellige Kundennummer auswendig lernen, oder was?

Wie kann ich das umgehen?
Ist eine Replikation zwingend notwendig, oder reicht Aktenkoffer alleine?

Vielen Dank!

Gruß, Michi

Bernd Koch
02.11.2001, 20:06
Eigentlich hatte ich dir dazu doch schon in deinem letzten Beitrag zum Thema was geschrieben - warum jetzt die erneute Frage?

Was die Sache mit der Kundennummer angeht: das kannst du eigentlich nicht Access anlasten. Immer wieder wird auch hier im Forum davor gewarnt, die Primärschlüssel, insbesondere wenn sie Autowertfelder sind, als "Nummerierungsgenerator" zu missbrauchen.

Immer wieder die selben Probleme:
- durch Löschen von Datensätzen entstehen Lücken in der Nummerierung
- durch Ausprobieren und Testen gehen die Nummerierungen hoch
- na ja und bei Replikation wandelt sich auf einmal der Typ von Inkrement zu Zufall und wird 16stellig.

Primärschlüssel/Autowertfelder sind nun mal für die interne Funktionalität gedacht und erfüllen da auch hervorragend ihren Zweck - wer was anderes mit ihnen macht, muss/sollte sich der Konsequenzen bewusst sein. Verbuch es unter "Lehrgeld" - in der einen oder anderen Form haben wir es alle zahlen müssen.

Konkreter Vorschlag für deine Situation:
- benenne in der Tabelle das Autowertfeld um
- schaffe ein neues Feld "Kundennummer"
- kopiere die Inhalte des ehmaligen Feldes in das neue
- schaffe dir ggf. per Code die Möglichkeit, dass auch in Zukunft im neuen Feld "Kundennummer" automatisch hochgezählt wird (dazu hat es schon mehrfach Lösungsvorschläge hier im Forum gegeben; gib mal so Suchbegriffe wie "Autowert" ein, da müsste schon was kommen)
- und dann kannste auch ganz beruhigt der Replikation entgegen sehen.

Ich weiß jetzt nicht, ob du mit Acc97 oder mit Acc2000 arbeitest. Bei Acc97 wirst du noch etwas mehr Aufwand treiben müssen, wenn es darum geht, deine Abfragen/Formulare/Berichte nachzubearbeiten, was die Umbennung des Tabellenfeldes angeht. Und natürlich wirst du das neue Feld einbauen müssen.

Aber tröste dich, es wird kaum einen der Cracks hier im Forum geben, der/die nicht schon ganze eigene DBs noch mal neu erstellt hat, weil da so viele "Jugendsünden" drin waren, dass reparieren aufwändiger gewesen wäre als neu erstellen. Da ist dein Problem noch vergleichsweise easy. :)

Bernd