Bonjour,
Je développe un projet CRM via VBA excel et je souhaite faire une requête Access pour mettre à jour une table qui n'autorise pas les doublons pour le champs ID. Lors que ma requête s’exécute j'ai un message d'erreur car celle-ci crée une nouvelle entrée au lieu de la mettre à jour.
Si quelqu'un peut m'aider, mer d'avance
Voici le code de ma requête:
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 'mise a jour de la fiche Sub MajSiren(SIREN) Dim Cn As ADODB.Connection Dim texte_SQL As String Dim Rst As ADODB.Recordset Dim i As Integer Set Cn = New ADODB.Connection '--- Connection --- With Cn .Provider = "MSDASQL" .Open "DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=" & BDD End With '----------------- 'création d'un nouveau recordset texte_SQL = "SELECT * From [Associations] WHERE ID = '" & SIREN & "'" Set Rst = New ADODB.Recordset 'ouverture de la table en référence Rst.Open "Associations", Cn, adOpenKeyset, adLockOptimistic, adCmdTable 'affectation de la valeur des champs du formulaire dans le RecordSet Rst.Fields(1).Value = Me.ChSiren Rst.Fields(2).Value = Me.ChRaison Rst.Fields(4).Value = Me.ChAdresse Rst.Fields(7).Value = Me.ChVille Rst.Fields(6).Value = Me.ChCode Rst.Fields(9).Value = Me.ChNaf Rst.Fields(10).Value = Me.ChLibelle Rst.Fields(16).Value = Me.ChSecteur Rst.Fields(17).Value = Me.ChDelegation 'Enregistrement du RecordSet dans la table Rst.Update MsgBox "Enregistrement Effectué" '--- Fermeture connexion --- Rst.Close Cn.Close Set Cn = Nothing Set Rst = Nothing 'fermeture du formulaire Unload FormSiren End Sub
Partager