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