Avatar billede jobema Nybegynder
09. september 2003 - 12:51 Der er 7 kommentarer og
1 løsning

Automatisk nummerering.

Hvordan kan jeg lave et felt, hvor den sidste del generes automatiske. Eks. ABC-<ÅR>-##### eller ABC<ÅR>#####
<ÅR>=årstal
#####=automatisk nummerering.
Access 2000, engelsk udg.
09. september 2003 - 13:04 #1
Der er en række argumenter for ikke at gøre det på den måde! Jeg vil i stedet anbefale dig at lave et særskilt felt til autonummerering. Dette felt kan enten være genereret af Access eller vha VBA.
Hver gang du skal vise dit felt, så slår du bare de 2 felter sammen, f.eks. vha en forespørgsel eller et beregnet felt på formularen.

Du skal således have begge felter på formularen, men de kan bare være skjult (visible = false).
I en ubunden textbox skriver du:
=[DitFelt] & "-" & [DitAutonummer]

På formens AfterUpdate-event kan du så lægge denne kode:

On Error resume next
Me![DitFelt] = Me![DitFelt] & "-" & Year(Date)
ME![DitAutonummer] = DMax("[DitAutonummer]", "DinTabel")+1
If Err then ME![DitAutonummer] = 1


NB: "dinTabel", [DitFelt] og [DitAutonummer] skal selvfølgelig ændres til de respektive tabel- og feltnavne!
Avatar billede jobema Nybegynder
09. september 2003 - 13:25 #2
Jeg prøver det lige først
Avatar billede jobema Nybegynder
09. september 2003 - 20:04 #3
Jeg kan ikke få det til at virke.
Evt. kan jeg prøve at sætte 2 id-tæller op, hvor der er tvunge handling til tabel. F.eks Type1 = autonumber
                format= ABC00000
              Type2= BCD00000, hvor man i formula skal vælge mellem type1 og type2 før man kommer videre?
Men så mangler jeg stadig, at få datoen ind
Avatar billede fynbohans Nybegynder
14. september 2003 - 17:01 #4
Hvid [ID] er Autonummerering kan du lige før du gemmer en post
som en Hændelseprocere generere dit nummer således:
[MitNr] = [TypeFelt] & Right(Date,2) & Right(CLng(100000 + [ID]),5)
Avatar billede jobema Nybegynder
14. september 2003 - 22:04 #5
Hvor skal den hændelseprocere ske? Jeg har prøvet at gøre det ved formular, men den skriver at jeg mangler en operand? I min hovedtabel har jeg [typefelt], [ID], [User] og [Mitnr].'
[Typefelt] består af 2 værdier, så når jeg har valgt denne værdi, skulle [Mitnr] gerne genereres automatisk, men det sker ikke?
[Typefekt]= ABC og BCD
[ID]= autonummerering
[User]= 1-10
[Mitnr]= tekstbox
Avatar billede fynbohans Nybegynder
15. september 2003 - 09:53 #6
Hvordan gemmer du en ny post?
Du kan opså genere dit nummer ved klik på en knap. Ønsker du det?
Skal datoen også med i nummer? I dit oprindelige spørgsmål nævnte du kun
år.
Avatar billede fynbohans Nybegynder
15. september 2003 - 11:58 #7
Hvis du vælger en knap vil følgende kun indsætte et nyt nummer,
hvis feltet MitNr er blankt:

If IsNull([MitNr]) = True Then
  [MitNr] = [TypeFelt] & Right(Date, 2) & Right(CLng(100000 + [ID]), 5)
End If

Indsættes som Hændelsesprocedure VedKlik
Avatar billede jobema Nybegynder
15. september 2003 - 22:03 #8
Kanon, det virker!!! Du må være på min bølgelængde. Det var lige præcis, den med knappen jeg gerne ville have.Fedt 100 point til dig
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester