Bonjour à tous,
C'est mon premier post sur ce forum et je tiens a vous remercier pour le nombre de fois ou j'ai pu trouver des infos grace a vos nombreux sujets. ![:ccool:](https://www.developpez.net/forums/images/smilies/ccool.gif)
Pour cette fois ci, je n'ai pas trouvé mon bonheur.
Je souhaite rechercher dans une base client(1 colonne avec nom_client et 1 colonne avec case à cocher), les clients ayant comme caractere ceux saisi dans "NOM_CLIENT_RECHERCHE" (formualire).
Ensuite je rappatrie cette liste dans une autre table avec la colonne conseil1(case à cocher) qui permet de savoir si ce client a une prestation particuliere.
J'arrive bien a remonter le nom de mon client, mais pas la case à cocher qui ne s'enregistre pas.
Il y a donc une erreur de synthaxe a cette requete:
DoCmd.RunSQL "INSERT INTO NORMALISATION_CLIENT (NOM_CLIENT,CONSEIL) VALUES (('" & CLIENT_TRACKER & "'), ('" & CLIENT_INFO & "'));"
En particulier sur CLIENT_INFO qui est la case à cocher.
A noter que cette valeur remonte bien, car avec le "MsgBox CLIENT_INFO, vbCritical, "SUIV+"" , le valeur vrai/faux est correcte.
Voici ma fonction, ca devrait vous aider:
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 50 51 52 53 54 55 56
|
Private Sub TROUVER_CLIENT_Click()
Dim dbs As Database
Dim POINTEUR As DAO.Recordset
Dim CLIENT_TRACKER As String
Dim RECHERCHE As String
Dim ID_RECHERCHE As Integer
Dim CLIENT_INFO As String
On Error GoTo myerror
Set dbs = CurrentDb
RECHERCHE = Me.NOM_CLIENT_RECHERCHE
DoCmd.RunSQL "DELETE * FROM NORMALISATION_CLIENT;"
sSQL = "SELECT * FROM LISTE_ZEN;"
Set POINTEUR = dbs.OpenRecordset(sSQL, dbOpenSnapshot)
While Not POINTEUR.EOF
CLIENT_TRACKER = POINTEUR!firm
CLIENT_INFO = POINTEUR!conseil1
If CLIENT_TRACKER <> "" Then
If InStr(CLIENT_TRACKER, RECHERCHE) <> 0 Then
MsgBox CLIENT_INFO, vbCritical, "SUIV+"
DoCmd.RunSQL "INSERT INTO NORMALISATION_CLIENT (NOM_CLIENT,CONSEIL) VALUES (('" & CLIENT_TRACKER & "'), ('" & CLIENT_INFO & "'));"
End If
End If
POINTEUR.MoveNext
Wend
Set POINTEUR = Nothing
PauseTime = 1 ' Set duration.
Start = Timer ' Set start time.
Do While Timer < Start + PauseTime
DoEvents ' Yield to other processes.
Loop
Me.Refresh
myerror:
If myerror <> 0 Then
MsgBox "Anomalie n°" & CStr(Err.Number) & " " & Err.DESCRIPTION, vbExclamation, "BUSINESS+"
Err.Clear
End If
End Sub |
J'espere avoir été claire. ![8O](https://www.developpez.net/forums/images/smilies/icon_eek.gif)
Merci d'avance!!!!
Julia
Partager