Requete avec variable

Résolu/Fermé
jujubas Messages postés 13 Date d'inscription mercredi 17 juillet 2013 Statut Membre Dernière intervention 20 août 2013 - 19 juil. 2013 à 10:39
jujubas Messages postés 13 Date d'inscription mercredi 17 juillet 2013 Statut Membre Dernière intervention 20 août 2013 - 19 juil. 2013 à 13:46
Bonjour,

Dans mon code VBA j'aimerais utiliser une requete qui contient une variable. Je vous montre le code de la fonction


Private Sub updateCases()

    Dim i As String
    Dim rsProj As DAO.Recordset
    Set rsProj = Me.sfmListeComponentsUsed.Form.Recordset
    Do While Not rsProj.EOF
        i = rsProj("referenceNumber")
       CurrentDb.Execute "Update Components Set choix = True WHERE referenceNumber =' " & i & "' ;"
        rsProj.MoveNext
    Loop
End Sub


Vous vous en doutez ça ne marche pas j'ai une incompatibilité de type. Cette structure marche pour i Integer, quelqu'un serait comment faire pour i String ?

Merci d'avance !

2 réponses

blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
19 juil. 2013 à 11:24
Salut,

referencenumber est de quel type ? Car s'il est numérique, il n'y a pas besoin de simple-quote. Mais dans ce cas, i doit être décrit en numérique (entier long, par exemple).
0
jujubas Messages postés 13 Date d'inscription mercredi 17 juillet 2013 Statut Membre Dernière intervention 20 août 2013
19 juil. 2013 à 13:23
referenceNumber est un string
0
blux Messages postés 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
19 juil. 2013 à 13:33
Tu as deux "referencenumber' : celui de la table que tu veux mettre à jour et celui qui est renvoyé par le recordset (champ du formulaire que tu es en train de parcourir). Sont-ils de même type ?

Si tu remplaces ton i dans ton .execute directement par rsProj("referenceNumber"), ça dit quoi ?

Pourrais-tu voir si un i = cstr(i) avant ton .execute provoque quelque chose de plus (message d'erreur ?).
0
jujubas Messages postés 13 Date d'inscription mercredi 17 juillet 2013 Statut Membre Dernière intervention 20 août 2013
19 juil. 2013 à 13:46
C'est bon blux et merçi beaucoup j'ai réussi à trouver la solution (grâce à toi), un des deux reference number n'était pas du bon type (string) et la syntaxe que j'ai utlisé marche finalement.
0