Bonjour les amis,
Voilà mon problème.
Au début quand j'ai écris mon code VBA ça marchais très bien mais malheureusement depuis quelque temps quand je clique pour créer un nouveau numéro ça me dis que j'ai un doublons dans mes numéros.
Voici le rôle de mon code. la clè primaire est "numba" dans la table t_ba
Je veux incrémenter automatiquement les numéros de ma facture comme le format suivant : 25-2020-BA.
Voici mon code:
Maintenant je ne sais pas si j'ai fais des erreurs qui m'ont rattrapé par la suite ou bien j'ai mal codé.
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 Option Compare Database Dim TTNewNum As String Private Sub CmdCreatBA_Click() 'Déclaration Dim StrSQL, StrNum, NewNum As Double Dim StrAn As Double Dim db As DAO.Database Dim rs As DAO.Recordset 'Dernier numéro de l'annèe en cours StrSQL = Nz(DMax("nuba", "t_ba", "anba=year(date())"), 0) 'Choisir l'année dans la table StrAn = Nz(DLookup("anba", "t_ba"), 0) 'Comparer si l'année en cours existe dans la table faire: 'Dernier numéro de l'annèe en cours + 1 If StrAn = Year(Date) Then StrNum = StrSQL + 1 Else 'Si l'année en cours n'existe pas dans la table faire: 'StrNum = 1 StrNum = 1 End If 'Concantener le numéro de la facture. exemple : 15-2019-BA TTNewNum = StrNum & "-" & Year(Date) & "-BA" 'Faire l'enregistrement Set db = CurrentDb Set rs = db.OpenRecordset("select * from t_ba") rs.AddNew rs.Fields!nuba = StrNum rs.Fields!anba = Year(Date) rs.Fields!numba = TTNewNum rs.Fields!dtba = Now() rs.Fields!user_et = iduser rs.Update db.Close Set db = Nothing Set rs = Nothing 'Ouvrir le formulaire avec un critère DoCmd.OpenForm "f_ba", , , "numba='" & TTNewNum & "'" End Sub
Aidez moi SVP.....
Partager