Bonjour,

J'essaie de mettre en place une numérotation automatique des pièces comptables. Je me suis inspiré fortement de ce tutoriel.

J'ai modifié le code ainsi :
Modification du nom des champs et du format en affichant 4 chiffres pour l'année au lieu de 2.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub Form_BeforeUpdate(Cancel As Integer)
 
Dim oRst As DAO.Recordset
 
If Me.NewRecord Then
    Set oRst = CurrentDb.OpenRecordset( _
            "SELECT Max(Indice) FROM T_Comptabilite WHERE Format(Piece,""yyyymm"")=" & _
                    Chr(34) & Format(Me.Piece, "yyyymm") & Chr(34))
    With oRst
        If Not .EOF Then
            Me![Indice].Value = Nz(.Fields(0).Value, 0) + 1
        Else
            Me![Indice].Value = 1
        End If
        .Close
    End With
End If
End Sub
Lors de l'essai de la saisie d'un enregistrement, au premier essai j'ai une erreur de dépassement de la capacité et au second une erreur de syntaxe.

Une idée du problème?

Merci.