Eigen volgnummer maken

Status
Niet open voor verdere reacties.

channis

Gebruiker
Lid geworden
26 mrt 2007
Berichten
18
Weet iemand hoe ik zelf een volgnummer kan maken die moet bestaand bijv:
O200700001

Waarbij ik met O aangeef dat het een order is.
2007 is het huidige jaar.
en
00001 moet dan bij iedere nieuwe order oplopend zijn.

Deze gebeurtenis vindt plaats met een knop op een formulier om een nieuwe order aan te maken moet eerst uiteraard naar het laatste nummer gekeken worden, als er echter geen nummer voorkomt in het tabel moet deze beginnen met het jaar en dan het volgnummer.

Het formulier is boven op het tabel order gebouwd.
Ik gebruik op de formulier een veld ordernummer waarbij het nieuwe ordernummer getoond moet worden.

Hoor graag van jullie!!
Gr. Channis.
 
Wow dit ziet er fantastisch uit dit ga ik zeker uit testen.
Nou als laatse vraag wil ik ook het ordernummer via de insert functie in het tabel bijv: orderregels toevoegen via het opslaan knop, moet ik dan dezelfde insert to gebruiken??


Alvast Bedankt!
Channis


Probeer dit eens
 
Ja, ik denk het wel. Alleen de tabelnaam ff veranderen

Als dit niet werkt dan heb ik iets meer gegevens nodig om deze vraag goed te kunnen beantwoorden
 
Laatst bewerkt:
Hoi ik heb getest het werkt perfect alleen vraag ik me af hoe de code eruit moet zien als het jaar 2008 is, sorry dat ik dat niet heb vermeld kom hier weer later achter.

Dus als ik een order invoer in 2007 moet het ordernummer het jaar 2007 mee krijgen.
Als ik in 2008 een order invoer moet het ordernummer het jaar 2008 mee krijgen.

Als je me hier nog mee kan helpen heel graag!!

Gr. Channis


Ja, ik denk het wel. Alleen de tabelnaam ff veranderen

Als dit niet werkt dan heb ik iets meer gegevens nodig om deze vraag goed te kunnen beantwoorden
 
Hoi,

Ik heb het volgende gevonden weet alleen niet waar ik hem er tussen moet plaatsen.

Dim strjaartal as string

strjaartal = CStr(Year(Format(Date, "dd/mm/yyyy")))

het enige wat ik denk ik dan moet doen is een if statement bijv: als ordernummer niet overeenkomt met 2007 (met geloof ik nomatch) dan de begin bij 00001 of zo iets.....

weet het prima te verwoorden maar ja helaas niet de programmeer kennis.

Hoop dat je hier iets mee kan doen zo niet wil ik je nogmaals bedanken voor de moeite.

Gr. Channis


Ik heb geen idee!
 
Je bent er bijna.

Je bent er bijna!
Je moet het volgende doen: vervang procedure cmdNewOrdernummer_Click() door onderstaande tekst.
Code:
Private Sub cmdNewOrdernummer_Click()

    ' format ordernummer: O200700001
    ' O = Order
    ' 2007 = jaar
    ' 00001 volgnummer
    
    Dim strHoogsteOrdernummer As String
    Dim lngvolgendnummer As Long
    Dim strJaartal As String
    
    strJaartal = CStr(Year(Date)) ' Jouw voorstel iets versimpeld.
    
    strHoogsteOrdernummer = Nz(DMax("Ordernummer", "Table1", "Ordernummer Like 'O" & strJaartal & "*'"), "")
    If Len(strHoogsteOrdernummer) > 0 Then
        lngvolgendnummer = CLng(Right$(strHoogsteOrdernummer, 5)) + 1
    Else
        lngvolgendnummer = 1
    End If
    
    Me.txtOrdernummer = "O" & strJaartal & Format(CStr(lngvolgendnummer), "00000")
    
End Sub

Enjoy!
 
Jaaaa dit is hem super!! Hij werkt perfect...nogmaals super bedankt.
Ik zet hem op afgehandeld.

Gr. Channis


Je bent er bijna!
Je moet het volgende doen: vervang procedure cmdNewOrdernummer_Click() door onderstaande tekst.
Code:
Private Sub cmdNewOrdernummer_Click()

    ' format ordernummer: O200700001
    ' O = Order
    ' 2007 = jaar
    ' 00001 volgnummer
    
    Dim strHoogsteOrdernummer As String
    Dim lngvolgendnummer As Long
    Dim strJaartal As String
    
    strJaartal = CStr(Year(Date)) ' Jouw voorstel iets versimpeld.
    
    strHoogsteOrdernummer = Nz(DMax("Ordernummer", "Table1", "Ordernummer Like 'O" & strJaartal & "*'"), "")
    If Len(strHoogsteOrdernummer) > 0 Then
        lngvolgendnummer = CLng(Right$(strHoogsteOrdernummer, 5)) + 1
    Else
        lngvolgendnummer = 1
    End If
    
    Me.txtOrdernummer = "O" & strJaartal & Format(CStr(lngvolgendnummer), "00000")
    
End Sub

Enjoy!
 
Hoi,

Sorry dat ik je hiermee moet lastig vallen maar weet jij of er mogelijk bestaat om het ordernummer direct weg te schrijven naar het tabel zodat ik geen dubbele nummering krijg met meerder gebruikers.

Alvast Bedankt.

Channis



Jaaaa dit is hem super!! Hij werkt perfect...nogmaals super bedankt.
Ik zet hem op afgehandeld.

Gr. Channis
 
Dit is een gevoelig onderwerp. Er zijn meerdere manieren mogelijk om dit op te lossen. Des te meer gebruikers je hebt, des te moeilijker wordt het om het geheel goed sluitend te krijgen.

Dus voor je begint moet je je afvragen of het inderdaad een probleem is.
Als dat zo is waarom laat je die nummers niet automatisch aanmaken?
 
Yep dat klopt het gaat om 2 gebruikers..als ik voor elkaar krijg dat ik het ordernummer weg kan schrijven naar het tabel controleer gebruiker 2 het laatst gebruikte ordernummer.

Als je me hier mee kan helpen heel graag :(

Gr. Channis

Dit is een gevoelig onderwerp. Er zijn meerdere manieren mogelijk om dit op te lossen. Des te meer gebruikers je hebt, des te moeilijker wordt het om het geheel goed sluitend te krijgen.

Dus voor je begint moet je je afvragen of het inderdaad een probleem is.
Als dat zo is waarom laat je die nummers niet automatisch aanmaken?
 
Op vakantie geweest.

Is dit probleem nog steeds een probleem?
 
Hoi Guus,

Echter is dit een combinatie probleem geworden tussen 2 tabellen tblOrder en tblOrderregel weet niet zo goed hoe ik moet oplossen.

Ik heb via insert into voor elkaar gekregen om mijn ordernummer weg te schrijven naar tblOrder maar weet niet zo goed hoe ik dit met tblOrderregel op moet lossen

Eigenlijk kan deze probleem als opgelost beschouwd worden.

Iedergeval bedankt voor je hulp.



Op vakantie geweest.

Is dit probleem nog steeds een probleem?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan