25. november 2013 - 23:04Der er
1 kommentar og 1 løsning
Autonummer med låste positioner
Jeg skal bruge et autonummer, der består af 6 låste postioner og 3 genererede fortløbende nummere.
AAAAYYNNN
AAA er tre bogstaver, der giver afdelingen, det kunne være PCS, det vælges ved opstart af Mainmenu, ved opstart. YY er tocifferet form for året, i år ville det selvfølgelige være 13. NNN er det fortløbende nummer, der hvert år starter fra 001 og tæller op.
Jeg kan selvfølgelig vælge at generere delene seperat, afdelingen kan vælges ved opstart, året kan hentes ved at hive årstallet frem og autonummer genereres nemt, men så vil autonummeret ikke starte ved 001 når vi skifter til år 14.
Hvis du kan finde plads til AAA et andet sted, kan en påhægtet hændelse til nye poster klare det. Følgende første sql udtryk skal tilpasses din tabel struktur.
eksempel tabel: T2(id autonumber,tekst text)
Sub checkAndSetYearPartOfCounter() Dim maxId, y2dig, sql maxId = DMax("id", "T2") y2dig = Year(Now()) - 2000 If Int(maxId / 1000) < y2dig Then sql = "insert into T2 (id,tekst) select " & 1000 * y2dig & " as id, tekst from T2 where id=" & maxId CurrentDb.Execute sql sql = "delete from T2 where id=" & maxId CurrentDb.Execute sql End If End Sub
Det der udnyttes er: *Det forhold at et nyt autonumber altid sættes til 1+max af eksisterende data *Det er muligt manuelt at tildele autonumber værdi ved postoprettelse
Mange tak for svaret, jo jeg kan godt flytte AAA, men det vil jo give det problem, at der ikke både kan være en
DMH14001 og en PCS14001,
idet Afdelingen som AAA repræsentere ikke indgår i autonummer genereringen.
Den lange forklaring er at jeg vil have databasen til at generere et indkøbsnummer, hvor vi er flere afdelinger der gerne skulle kunne bruge systemet, og derved lade vores fælles admin trække info om vores indkøb. Ingen af afdelingerne har behov for at kigge med i de andres indkøb, men den fælles admin har, hver afdeling vil jo gerne have deres nummere fortløbene, og ikke med de huller som de andre afdelingers indkøb ville give.
Dog kan jeg se en ide i din løsning, som jeg lige skal afprøve, en "programeret" autonummering, hvor jeg først trækker en liste af brugte nummere for en aktuel afdeling, lægger et til højeste nummer for den afdeling, med dit ilustreret eksempel på at tage højde for årstallet.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.