in access een volgnummer op een formulier

Status
Niet open voor verdere reacties.
In het VBA venster. <Extra>, <Verwijzingen>. De ADO bibliotheek staat meestal wel aan, maar niet altijd. En in het laatste geval werkt de code niet. Hij Heet dan iets als "Microsoft Active Data Objects 2.8" al kan bij de nieuwere versies ook 6.0 worden gebruikt. Wil je compatibel blijven met oudere Access versies, bijvoorbeeld om het bestand te posten naar HelpMij, dan zou ik 2.8 gebruiken omdat je foutmeldingen krijgt als je geen ADO 6.0 hebt.
 
?? Wat bedoel je daarmee?
 
Staat er al een ADO actief dan? Maak anders een schermafbeelding van de bibliotheken.
 
Je hebt hem ook niet geactiveerd; ze staan alfabetisch, dus beginnend bij Microsoft....
 
Dan heb je blijkbaar geen rechten op de schijf.
Deze functie gebruikt geen ADO, en zou standaard moeten werken met de basisinstellingen van Access.

Code:
Function VolgNummer() As String
Dim sVeld As String, sTabel As String, sWaarde As String, strSQL As String
Dim arr As Variant
Dim Nummer As Integer, Jaar As Integer

    sVeld = "[Veldnaam]"            'Hier het veld dat je gebruikt voor het volgnummer.
    sTabel = "[Tabelnaam]"          'Hier de tabelnaam waar het volgnummer in staat.
    strSQL = "SELECT TOP 1 " & sVeld & " FROM " & sTabel & " WHERE (" & sVeld & " Is Not Null) ORDER BY " & sVeld & " DESC"
    With CurrentDb.OpenRecordset(strSQL)
        If Not .BOF And Not .EOF Then sWaarde = .Fields(0).value
        .Close
        End If
    End With
    If sWaarde & "" = "" Then GoTo GeenNummer
    arr = Split(sWaarde, "-")
    Jaar = CInt(arr(0))
    If Jaar = Year(Date) Then
        Nummer = CInt(arr(1)) + 1
    Else
        Nummer = 1
    End If
    VolgNummer = Jaar & Format(Nummer, "-000")
    Exit Function
    
GeenNummer:
    VolgNummer = Year(Date) & "-001"

End Function
Probeer deze dus eens!
 
Goede kans dat je per ongeluk een bibliotheek hebt uitgezet die aan moet staan; deze foutmelding heeft vermoedelijk niks met het probleem te maken (heb ik in de andere draad al uitgelegd). Klik in het VBA venster op <Foutopsporing>, <db compileren> en kijk waar de foutmelding naar toespringt. En dat mag je weer melden!
Ik zag trouwens in je eerste plaatje dat de DAO 3.6 bibliotheek ook niet aanstaat, en die moet in ieder geval ook aan. Misschien dat je dat wel mag?
 
Laatst bewerkt:
D'r zit iets goed fout in de db. Ik zou, als ik jou was, een nieuwe maken en alles importeren. Dan heb je in ieder geval weer een schone database, met de juiste standaard bibliotheken.
 
ik had gelukkig nog een kopie van de database :D

maar dat vervolgnummer werkt nog niet wat moet ik daar nog aan doen dan ?
 
Als je de ADO en/of DAO bibliotheken niet aan hebt staan, gaat de functie niet werken. Zet in dat geval alles, dus ook de functies, in een database waarin minstens één van de bibliotheken draait.
 
Nu kun je de oorspronkelijke functie gebruiken; die maakt namelijk gebruik van de ADO bibliotheek.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan