Moin allerseits
FingMark hat geschrieben:
Mir fällt leider nur ein Weg über Umwege ein, indem man alle Zahlen, sagen wir zwischen 111 111 und 999 999 generiert und dann in oocalc die Quersumme daraus bildet, diese dann an die Zahl anhängt und die Liste als Tabelle wie oben beschrieben speichert. Dann jedes Mal eine Nummer aus dem "Pool" holt und ein USED=1 schreibt.
Ich vermute mal es gibt da auch einen besseren, schlaueren und eleganteren Weg.
Mit Base habe ich es zwar noch nicht ausprobiert, aber funktionieren müsste es und ich löse dieses Problem üblicherweise so:
1. Feld "Index" als Autointeger +1 anlegen und als Primärschlüssel festlegen.
2. Feld "NummerTeilA" als Integer, nicht eindeutig anlegen.
3. Feld "NummerTeilB" als Integer, nicht eindeutig anlegen.
4. Feld "NummerTeilC" als Integer, nicht eindeutig anlegen.
5. Weitere Felder nach Bedarf anlegen.
6. Unter "Extras" den "Indexentwurf" wählen und einen neuen Index "Nummer" anlegen.
7. Die drei Felder "NummerTeilA", "NummerTeilB", "NummerTeilC" auswählen und den Hacken bei "Eindeutig" setzen.
Nun hast Du zwei "Primärschlüssel", den Index aus Schritt 1 und der wichtigere:
Die Kombination von NummerTeilA, -TeilB und -TeilC muss ebenfalls eindeutig sein. Heisst:
001 001 001 ok.
001 002 001 ok.
002 002 001 ok.
002 002 001 UNGÜLTIG
usw.
Hoffentlich konnte ich helfen.
PS: Den Index aus Schritt 1 nutze ich auch für die Tabellenbeziehungen. In Formularen, Berichten oder Dialogen zeige ich dieses Feld jedoch dem Benutzer nicht.
Lg
Alex