Bonsoir à tous,

Voila, j'ai un problème d'execution de requête SQL via VBA. Lorsque l'evenement clic du bouton est enclenché, j'ai l'erreur d'execution 3142 : Caractères trouvés après la fin de l'instruction SQL.

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
 
Private Sub Execution_Click()
     'Definition
     Dim rs As Recordset
     Dim rsc As Recordset
     Dim sqlcom As String
     Dim sqlcnt As String
     Dim sqlb As String
     Dim nbContact As Integer
     Dim nbContrat As Integer
     'Affectation
     Set rs = CurrentDb.OpenRecordset("DCom", dbOpenSnapshot)
     sqlcnt = "SELECT COUNT(I.Cial) FROM [Informations Sources] AS I WHERE I.Cial LIKE "
     sqlb = "SELECT COUNT(I.Nom) FROM [Informations Sources] AS I WHERE VENTE IS NOT NULL AND I.Cial LIKE "
     'Traitement
     With rs
        Do Until .EOF
            'rsc => nb contact + contrats pour un commercial
            sqlcnt = sqlcnt & "'" & rs("Nom").Value & "'" & " ;" & vbCrLf
            Set rsc = CurrentDb.OpenRecordset(sqlcnt, dbOpenDynaset)
            nbContact = rsc.RecordCount
            rsc.Close
            sqlb = sqlb & "'" & rs("Nom").Value & "'" & " ;" & vbCrLf
            Set rsc = CurrentDb.OpenRecordset(sqlb, dbOpenDynaset)
            nbContrat = rsc.RecordCount
            rsc.Close
            'Insertion des valeurs
            sqlb = "INSERT INTO Commercial(nbcontact, nbcontrat)  SELECT " & nbContact & ", " & nbContrat & " FROM Commercial AS c WHERE c.Nom = " & "'" & rs("Nom").Value & "'" & " ;" & vbCrLf
            DoCmd.RunSQL (sqlb)
            .MoveNext
        Loop
     End With
     rs.Close
End Sub
L'erreur se produit lorsque le recordset tente d'ouvrir la requete à la ligne 20 du code. Et j'imagine que pour la ligne 23, je devrais avoir le même problème.

VBA Access est un nouveau langage pour moi et j'ai beau faire des recherches sur le net, je n'ai pas trouvé ou était mon erreur...

Merci d'avance pour vos réponses !