Avatar billede mikkelskip Nybegynder
24. november 2006 - 21:16 Der er 13 kommentarer

Automatisk generering af kundenummer

Hej...

Jeg har brug for lidt hjælp til automatisk generering af kundenummer i min access database. Jeg har et 4-cifet kundenummer hvor de forste fo cifre er en fortløbende værdi mellem 01 og 99. De to efterfølgende cifre henviser til året.
Eksempelvis er 1206 medlem nummer 12 i år 2006.
De to første cifre starter forfra hvert år.
Den 1/1 skal kundenummeret derfor starte ved nummer 01 og det pågældende år.

Er der nogle der kan hjælpe mig??
Avatar billede hnteknik Novice
24. november 2006 - 22:10 #1
Ja jeg et tilsvarende for skadenr pr dag du skal bruge max(left(kndenr,2)) where right(kundenr,4)= month(dato)&year(dato)

Der skal nok lige lidt format på drt sidste. men princippet er sådan.
Avatar billede mikkelskip Nybegynder
24. november 2006 - 22:30 #2
Hvor skal disse koder indsættes?
Avatar billede hnteknik Novice
24. november 2006 - 22:33 #3
Kort fortalt skal du filtrere på de kundenr som somright(kundenr,4) matcher et format(now()),"MMYY") og finde max(left(kundenr,2). Når du har tallet skal du lægge en til cint(tallet) og formatere det så det bliver f.ext 08 og ikke 8.
Avatar billede ffsoft Praktikant
24. november 2006 - 22:47 #4
Du kunne jo f.eks have en knap der hed ny kunde som
som aktiverer en stump kode der:

tager de to sidste i det aktuelle år

intAar = right(date(),2)

og checker om der findes nogle kundenumre i databasen der ender på det.

Hvis ja tages det højeste nummer og tillægges en
Hvis nej er nummeret 01

Skal du have noget færdigt kode må vi vide hvad tabellen
hedder og navnet på feltet med kundenummeret. Det er vel af
typen tekst ??
Avatar billede mikkelskip Nybegynder
24. november 2006 - 22:58 #5
Nu er jeg ikke helt så stærk i Acces, kan du uddybe det lidt eller lave en mere samlet kode?
Avatar billede ffsoft Praktikant
24. november 2006 - 23:05 #6
Skal du have noget færdigt kode må vi vide hvad tabellen
hedder og navnet på feltet med kundenummeret. Det er vel af
typen tekst ??
Avatar billede mikkelskip Nybegynder
24. november 2006 - 23:16 #7
Tabellen hedder Personlige_oplysninger og feltet hedder MedlemsID og feltet er at typen tekst. Håber det hjælper
Avatar billede ffsoft Praktikant
25. november 2006 - 15:44 #8
Sub cmdNytMedlem_Click()
Dim conn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim strSQL As String
Dim strAar As String
Dim strMedlemID As String
Dim bolFundet As Boolean

Set conn = CurrentProject.Connection
Set rst = New ADODB.Recordset
strAar = Right(Year(Date), 2)

strSQL = "SELECT MedlemID FROM personlige_oplysninger "
strSQL = strSQL & "WHERE right(personlige_oplysninger.medlemid,2=" & strAar & ");"
Debug.Print strSQL
rst.Open strSQL, conn
'Findes der nogle numre for det aktuelle år
If rst.BOF And rst.EOF Then
    bolFundet = False
Else
    bolFundet = True
End If
rst.Close

' Der blev fundet et nummer så find det højeste nummer og læg en til
If bolFundet Then
    strSQL = "SELECT Max(MedlemID) AS SidsteNr FROM Personlige_Oplysninger;"
    rst.Open strSQL, conn
    strMedlemID = Left(rst("SidsteNr"), 2) + 1
    ' Der skal være 0 foran 1 cifrede numre
    strMedlemID = Right("0" & strMedlemID, 2) & strAar
    rst.Close
End If

' Der blev ikke fundet noget nummer lav nummer 01
If Not bolFundet Then
    strMedlemID = CStr("01" & strAar)
End If

' Indsæt det nye nummer i tabellen
strSQL = "Insert into personlige_oplysninger(MedlemID) values ('" & strMedlemID & "')"
conn.Execute strSQL
' Luk & sluk
Set rst = Nothing
conn.Close
Set conn = Nothing
' Gå til den nye post
DoCmd.ShowAllRecords
DoCmd.GoToRecord , , acLast

End Sub
Avatar billede ffsoft Praktikant
25. november 2006 - 15:45 #9
Lav en knap på formularen der hedder cmdNyt:Medlem og kopier
ovenstående kode ind på knappens onClick hændelse.

Så kører det for dig.
Avatar billede ffsoft Praktikant
25. november 2006 - 15:45 #10
Jeg lægger lige et svar.
Avatar billede hnteknik Novice
25. november 2006 - 15:51 #11
Der er ved at gå inflation i 'lidt hjælp' her på siten ;-)
Avatar billede mikkelskip Nybegynder
26. november 2006 - 12:02 #12
Nu har jeg prøvet at gøre som skrevet både i den eksisterende database og i en ny men der sker intet når der trykkes på knappen....
Avatar billede ffsoft Praktikant
26. november 2006 - 18:13 #13
Jeg har lagt en kopi af det jeg testede med her

http://www.ffsoft.dk/kunde/test02.zip

>> mikkelskip: Tjah, btw mangler du stadig at få gjort noget
ved din e-shop ??
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