Bonjour,
A la suite d'une demande de SQLPro, voici une méthode pour récupérer le numéro ID généré par l'ajout d'un enregistrement, ce dernier étant un champ NuméroAuto.
N.B. En cas d'utilisation sous une version antérieure à 2000, se référer à la FAQ pour obtenir l'équivalent de la fonction Split().
Voici un exemple d'utilisation...
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 Private Function AddNewCustomer(ByVal NewData As String, Optional ByRef LastIdentity As Long, Optional ByRef ErrNumber As Long) As Boolean Dim oDB As DAO.Database Dim oRS As DAO.Recordset Dim SQL As String Dim straCustomerData() As String On Error GoTo Err_AddNewCustomer straCustomerData = Split(NewData, ";") Set oDB = CurrentDb() With oDB SQL = "SELECT * FROM TBLCustomers;" Set oRS = oDB.OpenRecordset(SQL, dbOpenDynaset) With oRS .AddNew For R = 0 To UBound(straCustomerData()) .Fields(R + 1) = straCustomerData(R) Next .Update .MoveLast LastIdentity = .Fields(0).Value .Close End With .Close End With AddNewCustomer = True On Error GoTo 0 Ex_AddNewCustomer: Set oRS = Nothing Set oDB = Nothing Exit Function Err_AddNewCustomer: ErrNumber = Err.Number AddNewCustomer = False Resume Ex_AddNewCustomer End Function
Argy
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Sub TestPourVoir() Dim lngLastIdentity As Long Dim lngErrNumber As Long If AddNewCustomer("La Société Matik;Henri Cochet;12 rue Diment;98765;LA VILLE IEGIATURE;0130934519;hcochet@free.fr", lngLastIdentity, lngErrNumber) Then MsgBox "L'ID de l'ajout est : " & lngLastIdentity Else MsgBox "L'erreur " & lngErrNumber & " a été levée durant l'ajout du client !", vbExclamation, "Ajout échoué" End If End Sub
Partager