Vraag : Het creëren van Douane IDs

Wij hebben als volgt IDs: 20090001, 20090002 (fundamenteel het fiscale jaar plus 4 cijfers)

When een nieuw jaar komen rond (2011), heb ik IDs nodig om automatisch over bij één opnieuw te beginnen zodat zal eerste identiteitskaart van het jaar 20100001, volgend jaar zijn het 20110001 etc.

zal zijn ik als volgt de code op dit ogenblik heb:

Dim maxIncident als Variant
Dim maxIncidentID als Variant

If Me.intIncidentID.Value = 0 Then

'krijgt het maximumIncident # Incidenten table
de maxIncident = DMax („[intIncidentID]“, „tblIncidents“)

'als het jaar in het maximumgevalaantal niet het huidige jaar terugstelde toen numbers
als Verlaten CInt is ((maxIncident, 4)) <> jaar (Datum) Then
maxIncidentID = Verlaten CInt ((Jaar (Datum), 4)) + 1
anders 'zelfde jaar zo verhoging door 1
maxIncidentID = DMax (“ [intIncidentID] „, „tblIncidents“, ging (maxIncident, 4) weg) + 1

Eind If

'plaatste standaardwaarden op form
Me.intIncidentID.Value = maxIncidentID

End If

Problem van code is gewaagd.  Welke behoefte van I voor identiteitskaart 3 belangrijke nul moet op dit ogenblik hebben vóór 1… het nieuwe jaar + 1 zo op dit ogenblik zijn 2011 maar ik vereis het zo het zegt dan 20100001

Antwoord : Het creëren van Douane IDs

probeer dit codeert


Verduister newVal als Koord, curVal als Koord, seq als Koord, maxIncidentID
Als DMax („[intIncidentID]“, „tblIncidents“) > 0 toen
    curVal = DMax („[intIncidentID]“, „tblIncidents“)
 'test als de dag het zelfde is
    Indien Weggegaan (curVal, 4) = Cstr (Jaar (Datum)) Dan
    seq = Formaat (Juiste (curVal, 4) + 1, „0000“)
    newVal = Jaar (Datum) & seq
        Anders
    newVal = Jaar (Datum) & „0001“
    Eind als
    Anders
    newVal = Jaar (Datum) & „0001“
Eind als
    maxIncidentID=newVal
Andere oplossingen  
 
programming4us programming4us