Skapa stigande numrering med ny numrering för varje grupp

Hej !

Söker med ljus och lykta efter en lösning på mitt bekymmer men inte hittat något.

Jag behöver skapa en numrering av posterna i en fråga (skulle även kunna vara en tabell). Det vore inga problem om det bara skulle vara en enkel stigande numrering, det löses med en räknare.

Mitt önskemål är att numreringen ska börja om för varje nytt värde i ett av fälten.

T ex:
Kundgrupp – KundNum:
X — A — 1
X — B — 2
X — C — 3
Y — D1
Y — E2
ZF1
ZG2
ZH3

Så i fältet ”Num” vill jag få in en funktion som skapar en ny numrering för varje förändring i ”Kundgrupp”

Finns det någon SQL kod som kan skapa en sådan alternativt någon annan funktion?

Mvh // Håkan

2 thoughts on “Skapa stigande numrering med ny numrering för varje grupp

  1. Micke Falk Post author

    Jag tror det är enklast att göra detta med lite kod.

    ‘ Denna funktion tvingar fram en nummerordning som börjar på 1 för varje grupp

    Function KundNumUpdateTvinga()
    Dim rs As Recordset, sql$, max&, gammalKundgrupp$
    sql = "SELECT Kundnum.Kundgrupp, Kundnum.Kund, Kundnum.Num FROM Kundnum"
    sql = sql & " ORDER BY Kundnum.Kundgrupp, Kundnum.Kund;"
    Set rs = CurrentDb.OpenRecordset(sql)
    Do Until rs.EOF
    If rs!Kundgrupp <> gammalKundgrupp Then
    max = 0
    gammalKundgrupp = rs!Kundgrupp
    End If
    max = max + 1
    rs.Edit
    rs!num = max
    rs.Update
    rs.MoveNext
    Loop
    rs.Close
    End Function

Comments are closed.