MS Access2007-veld automatisch vullen met nummers

Status
Niet open voor verdere reacties.

AJKlijn

Gebruiker
Lid geworden
14 okt 2008
Berichten
35
Ik heb in een db de beschikking over een veld waarin serienummers komen te staan, deze nummers zijn oplopend en worden ingevoerd met een aantal van 50 stuks te gelijk. Het serienummer is erg lang, dus steeds het hele nummer moeten invoeren is lastig. Kan ik mbv een macro of query of desnoods SQL een veld zodanig vullen dat ik vanuit een menu kies voor:

Vul Serienummer
Startwaarde = 500000000000000000
Verhoog met = 1
Aantal = 5000

Veld wordt dan gevuld met 5000 nieuwe records beginnende op 500000000000000000 en eindigende op 500000000000004999 = 5000 stuks

Dolf
 
Daar zul je een functie voor moeten maken, die een recordset in een lus het gevraagde aantal keer doorloopt. En dat is, bij zo'n lange string, een beetje lastig omdat je al gauw in een exponentionële berekening terecht komt. Dus ik zou de string dan een beetje opsplitsen:
Code:
Sub Nummeren()
Dim iStart As String, iAantal As Long, iStap As Integer, i As Integer, j As Integer
Dim iVoor As String, iNa As String, iNieuw As String, iNaL As Integer

    iStart = InputBox("Typ de startwaarde", "Startwaarde invoeren", "500000000000000000")
    If Len(iStart) > 8 Then
        iNaL = Len(iStart) - 8
        iVoor = Left(iStart, 8)
        iNa = Right(iStart, iNaL)
    End If

    With CurrentDb.OpenRecordset("tNummer")
        For i = 1 To (iAantal / iStap) Step iStap
            iNieuw = CLng(iNa) + i
            iNieuw = Right("00000000000000000" & iNieuw, iNaL)
            .AddNew
            !Nummer = iNieuw
            .Update
        Next i
        .Close
    End With

End Sub
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan