Welkom op het forum van startpagina!

Dit forum staat op alleen-lezen. Je kan hier informatie zoeken en oude berichten terugvinden, maar geen nieuwe berichten plaatsen.

Naar overzicht van alle forums

autonummering met letters erbij

  • René Keijzer

    Hallo allemaal,

    Ik heb het proberen te vinden op het prikbord maar niet het juiste gevonden voor mijn probleem :)

    Dat is namelijk het volgende. Ik heb een veld nodig wat een autonummering is, en wel het veld opdrachtnummer.

    Alleen dat opdrachtnummer bestaat niet alleen uit een nummer maar ook letters.

    Bijvoorbeeld: 05AZ-E-00001

    Ik heb het wel al visueel kunnen krijgen door in de notatie wat neer te zetten, maar dan blijft in de tabel de waarde 1 staan en niet 05AZ-E-00001, en ik heb het laatste nodig voor een export via excel die wordt ingevoerd in een ander systeem.

    Zou iemand mij hierbij kunnen helpen?

    Alvast bedankt!

    Groetjes,

    René

  • Marnik

    Dag René,

    een autonummering-veld is altijd een numeriek veld (lange integer). Een code is dus niet mogelijk.

    Welk deel van uw code 05AZ-E-00001 blijft hetzelfde en welk deel telt op ?

    Groet,

    Marnik

  • René Keijzer

    Beste Marnik,

    > een autonummering-veld is altijd een numeriek veld (lange

    integer). Een code is dus niet mogelijk.<

    Ok.

    > Welk deel van uw code 05AZ-E-00001 blijft hetzelfde en welk

    deel telt op ?<

    Het laatste deel 00001 telt op, en het eerste gedeelte 05AZ-E- blijft hetzelfde.

    Groetjes,

    René

  • Marnik

    Dag René,

    In dat geval dat de lettercombinatie nooit wijzigt :

    Kies voor dat veld dan maar Autonummering en zet onderaan bij notatie

    “05-AZ-E-”00000

    Dit wil zeggen dat hij in dat veld eerst een stukje tekst zet (het gedeelte tussen aanhalingstekens 05-AZ-E- ) en vervolgens een autonummering geeft met 5 digits.

    Hopelijk helpt je dit vooruit.

    Groetjes,

    Marnik

  • René Keijzer

    Beste Marnik,

    Bedankt voor wederom een snelle reactie. Maar zoals je in het orginele bericht heb kunnen lezen, wist ik deze oplossing al.

    Het probleem is dat dit alleen visueel is. En ik moet gegevens exporteren, en heb dan het geheel nodig. Zelfs reeds moet ik dit nummer in zijn geheel vanuit tabel 1 naar tabel 2 exporteren, binnen het de database en daarna exporteren voor naar exact.

    Hoe dien ik dit aan te pakken?

    Groetjes,

    René

  • Marnik

    Sorry René,

    nu pas je vraag goed gelezen. 't Is niet omdat de notatie verandert dat het gegeven de code ook in die vorm wordt geexporteerd.

    Hiervoor weet ik ook niet direct een oplossing, behalve in Excell, eenmaal het is geexporteerd.

    Stel dat in Excell uw Autonummeringveld in kolom A staat. Dan kan je in Excell een kolom er naast bijmaken met daarin de formule

    =“05AZ-E-”&TEKST(A1;“00000”)

    Misschien kan iemand hetzelfde met een extra tekstveld in Access.

    Hopelijk helpt je nu wel verder.

    Groet,

    Marnik

  • René Keijzer

    Bedankt voor je hulp!

    Ik heb ergens anders onderstaand bericht gevonden, het is een stukje VB. Daar werk ik ook wel mee. Alleen dit gaat iets verder dan ik normaal ging… dus not wat onbewerkt terrein.

    wellicht kan iemand mij duidelijk maken wat ik ermee kan doen, en waar ik het kan inprogrammeren….

    Want volgens mij wordt hier op basis van een record nummer een autonummering gemaakt met een voorloopcode… en dat is wat ik wil :)

    Alleen heb ik mooite met het implementeren hiervan….

    Groetjes,

    René

    Auteur: Eric B (—.xdsl.tiscali.nl)

    Datum: 30-11-2004 17:16

    Voor de liefhebbers een oplopend volgnummer in VBA (versie 2) in de eerder geposte code zit een klein foutje.

    'In je formulier kopieren :

    'kontroleer daarna even of er bij de eigenschappen

    'van het formulier tabblad Gebeurtenis

    'bij voor invoegen staat

    'is dit niet het geval klik dan op de puntjes

    Private Sub Form_BeforeInsert(Cancel As Integer)

    dim ret as string

    ret=MKHignum

    if len(ret) > 0 then

    me.volgnummer=ret

    else

    MsgBox “Fout opgetreden bij het aanmaken van het ordernummer”, _

    vbOKOnly + vbExclamation, “Probleem”

    cancel=true

    end if

    End Sub

    'In de module kopieren :

    'als je dit in de module hebt gekopieerd

    'kijk dan in het menu Extra/verwijzingen of de verwijzing Microsoft

    'DAO 3.6 object library is aangevinkt (nummer kan verschillen( is versie))

    '=======================================

    'Function MKHignum() As String

    '

    'Bepaal het hoogste nummer

    'MKHignum Retourneert het hoogste nummer

    '=======================================

    Function MKHignum() As String

    On Error GoTo MKHignum_Err

    Dim db As Database

    Dim thequery As String

    Dim therec As Recordset

    Dim mw As String

    Dim vlc As String

    Dim fnr As String

    vlc = “SO-ORD-” 'voorloopcode

    Set db = CurrentDb

    thequery = “SELECT Max(volgnummer) AS MaxRecnum FROM inkooporders;”

    Set therec = db.OpenRecordset(thequery)

    If therec.RecordCount > 0 Then

    If Not IsNull(therec(“MaxRecnum”)) Then

    mw = therec(“MaxRecnum”)

    mw = Right$(mw, 5) 'nieuw jaar?

    If Val(Left$(mw, 2)) <> Year(Date) - 2000 Then

    fnr = “001”

    Else 'verhoog nummer

    fnr = Right$(“000” & Val(Right$(mw, 3)) + 1, 3)

    End If

    Else 'lege tabel

    fnr = “001”

    End If

    Else

    fnr = “001”

    End If 'retourneer de waarde

    MKHignum = vlc & Format(Date, “yy”) & fnr

    '—————————————

    'Err_exit

    '—————————————

    MKHignum_Err_exit:

    CloseRecset therec

    CloseDB db

    Exit Function

    '—————————————

    'Err_handler

    '—————————————-

    MKHignum_Err:

    Resume MKHignum_Err_exit

    End Function

    '=======================================

    'Sub CloseRecset()

    '

    'Close en release recordset

    '=======================================

    Sub CloseRecset(trec As Recordset)

    On Error Resume Next

    trec.Close

    Set trec = Nothing

    End Sub

    '=======================================

    'Sub CloseDB()

    '

    'Close en release recordset

    '=======================================

    Sub CloseDB(datb As Database)

    On Error Resume Next

    datb.Close

    Set datb = Nothing

    End Sub

  • Frank

    Hallo René,

    Gebruik in je gewoon een kolom met autonummering en sla vaste tekenreeksen niet op in een tabel. Gebruik voor je export/import/rapport/formulier een query.

    Maak in je query zelf een veld bijv: MijnNr: “05AZ-E-” & Format(;“00000”)

    Frank

  • RV2

    Staat toch netjes vermeld in de kommentaarregels waar je deze code moet plakken?

    Duidelijker kan het niet worden uitgelegd :)

    RV2

  • René Keijzer

    Ik heb een probleem bij het eerste gedeelte. De regel:

    vbOKOnly + vbExclamation, “Probleem”

    Veranderd automatisch in:

    vbOKOnly vbExclamation, “Probleem”

    En dan geeft het een complileer fout - ongeldig gebruik van een eigenschap.

    Zou je me hiermee kunnen helpen?