Laatste N cijfers uniek

Status
Niet open voor verdere reacties.

Frog81

Gebruiker
Lid geworden
17 nov 2011
Berichten
6
In een veld sla ik een nummer op. Dit nummer bestaat uit meerdere gedeeltes maar de laatste 5 cijfers moeten uniek zijn.
Ik kan met de functie RIGHT de laatste 5 nummers in een apart (berekend) veld zetten, maar het lukt me niet te voorkomen dat er dezelfde 5 cijfers worden ingevuld.

Gaarne wat professionele hulp
 
Berekend veld? Zou ik niet doen. (geldt voor alle functies in een db, niet alleen voor deze vraag trouwens ;) ). Je zult een functie moeten maken die de 5 cijfers controleert, en eventueel goedkeurt of niet. Ik stel me dan voor dat je met een lus de 5 cijfers doorloopt en True retourneert als de cijfers uniek zijn, en False als het niet zo is. Met dat resultaat kun je dan (als je de functie op de Change event zet het laatste (foutieve) teken wissen.
 
Octafisch,

Hartelijk dank voor de suggestie. Dit is voor mij nog erg bewerkelijk al denk ik wel dat ik snap wat je bedoelt. Ik heb natuurlijk verder gedacht en denk aan het opdelen van het nummer (het heeft toch al drie gedeeltes) waarbij de eerste twee gedeeltes in een veld staan waarbij duplicaten mogelijk zijn en een veld voor het laatste gedeelte waarbij duplicaten niet mogen.
In een query kan ik dan van de twee velden weer 1 maken.
Wat denk je van deze oplossing. Is dit mogelijk of maak ik toch een denkfout?
 
Leg eerst eens uit wat de bedoeling is van dat nummerveld. Want je geeft eigenlijk te weinig informatie.
Dit nummer bestaat uit meerdere gedeeltes maar de laatste 5 cijfers moeten uniek zijn.
De belangrijkste vraag: Waarom? En een nog belangrijkere: wat versta je onder 'de laatste 5 cijfers moeten uniek zijn'? Ik heb dat nu opgevat als: 12345 is OK, want elk cijfer is uniek in de reeks.
maar het lukt me niet te voorkomen dat er dezelfde 5 cijfers worden ingevuld.
En 22222 is dus niet OK, want de 2 zit er 5 keer in. Op deze manier een nummer genereren is natuurlijk behoorlijk lastig, en sowieso heb je dan maar een heel beperkt aantal nummers dat je kunt gebruiken.
 
Het nummer is als volgt opgebouwd XX-BB-JJMMDD-YYYY
Waarbij:
XX = afdeling
BB= Soort item
JJ= Jaar
MM= Maand
DD= Dag
YYYYY is volgnummer

Nu mag alles dubbele waarden hebben, immers de afdeling zal vaker voorkomen. er zijn meerdere dezelfde items en die zullen ook wel eens op dezelfde datum uitgegeven kunnen worden. Echter wat niet mag is dat er eenzelfde volgnummer wordt uitgegeven. Dan wil ik via een validatieregel en een validatietekst laten weten dat een dergelijk volgnummer al een keer is uitgegeven.
Vandaar dan het opdelen van het eerst gedeelte veldX, korte tekst, en daar komt in de waarden voor XX-BB-JJMMDD-, duplicaten toegestaan.
en veldY, korte tekst, met hierin de waarden voor YYYYY, duplicaten niet toegestaan.

dus voor alle duidelijkheid 12345 is oké, 22222 is ook oké maar alleen als het maar 1 maal voorkomt

Het wijzigen van het nummer is helaas niet mogelijk want dat is reeds door meerdere afdelingen (ook extern) vastgelegd.
 
Laatst bewerkt:
Je hebt het nu (gelukkig) over een uniek volgnummer en niet meer over een nummer met alleen maar unieke cijfers. And that's a completely different ballgame :). Volgnummers moet je niet op de door jou gevraagde manier controleren, want dat is ongelooflijk onvriendelijk voor de gebruiker. Waarom zou je die lastig vallen met het probleem of een nummer wel of niet niet uniek is? Dat kun je voorkomen door zélf een nieuw uniek nummer te genereren en dat als Standaardwaarde in het veld te zetten. Iedereen blij :D
Kijk eens in dit draadje, waarin ik de techniek uitleg met een functie. Dezelfde techniek kun je bijna naadloos overnemen.
 
Hartelijk dank Michel

Dat lijkt inderdaad op hetgeen ik zoek. Ik ga het in mijn tabel verwerken.:d
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan