Requete Update problème !

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

Je suis nouveau sur le forum j'espère que je poste bien au bon endroit !

Alors je vous montre un bout de code (le contexte ne me semble pas très important pour ma question masi si besoin je le detaillerai)
Pour info quand même, projectnumber est de type intger; dans ma table Correspondances, champ1 est de type intger et champ2 est de type OUI/NON

Private Sub updateEdit()

Dim i As Integer

For i = 0 To DMax("projectNumber", "Projet")
If Me![sfmTestListeProjet]![ProjectNumber] = i Then
CurrentDb.Execute "Update Correspondances Set champ2 = True WHERE champ1 = " + i
End If
Next i
End Sub

Le problème c'est que j'ai une erreur de type Erreur d'execution 13 : Incompatibilité de type.

J'ai testé avec
CurrentDb.Execute "Update Correspondances Set champ2 = True WHERE champ1 = 1"
Et ça marche sans problème.

Je ne comprend pas ce qui ne vas pas. Si quelqu'un pouvait m'aider je serais très reconnaisssant.

Merçi d'avance


A voir également:

6 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
17 juil. 2013 à 18:04
Bonjour,

CurrentDb.Execute "Update Correspondances Set champ2 = True WHERE champ1 ='" & i & "';"
1
jujubas Messages postés 13 Date d'inscription mercredi 17 juillet 2013 Statut Membre Dernière intervention 20 août 2013
18 juil. 2013 à 18:12
Juste à propose de cette structure, elle marche très bien pour i INTEGER. Cependant elle ne marche pas pour les String, j'ai essayé diférentes combinaisons sans succès. Y a-t-il aussi une syntaxe simple de la forme précédente ?
0
jujubas Messages postés 13 Date d'inscription mercredi 17 juillet 2013 Statut Membre Dernière intervention 20 août 2013
18 juil. 2013 à 10:01
Merci beaucoup f894009, ta syntaxe marche à merveille, mais je ne peut pas en dire autant de mon code. J'aimerais que mon code a chaque i, parcourt tous les Me![sfmTestListeProjet]![ProjectNumber]. Or la des qu'il en trouve 1, il s'arrête. J'ai l'impression que pour parcourir tous mes projectNumber qui sont dans mon sousformulaire il faut que je pâsse par un recoidset.

Est ce bien le cas ? Si oui comment dois je m'y prendre (j'ai tenté quelques trucs mais j'ai vraiment du mal avec les recordsets...) . OU y a-t-il une autre solution ?

Merci d'avance !
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
18 juil. 2013 à 12:04
Bonjour,

Me![sfmTestListeProjet]![ProjectNumber] est-ce un champ de formulaire ??? Comment est rempli ce formulaire
0
jujubas Messages postés 13 Date d'inscription mercredi 17 juillet 2013 Statut Membre Dernière intervention 20 août 2013
18 juil. 2013 à 14:16
En fait c'est bon , je m'y prenais super mal pour parcourir mon sous formulaire. Voila mon nouveau code

Private Sub caseSelected()

    Dim i As Integer
    Dim rsProj As DAO.Recordset
    Set rsProj = Me.sfmCorrespondanceProjet.Form.Recordset

    Do While Not rsProj.EOF
        i = rsProj("ProjectNumber")
        CurrentDb.Execute "Update Correspondances Set champ2 = True WHERE champ1 =  " & i & ";"
        rsProj.MoveNext
    Loop

End Sub

Le problème de ce code c'est que je l'appelle sur le clique d'un bouton. Il m'update le sous fomulaire relié à la table Correspondances, mais les case a cocher ne se cochent pas automatiquement. C'est assez étrange, il faut que je passe ma souris sur la case pour qu'elle se coche (sans cliker).
Quelqu'un serait me dire pourquoi et comment réparer ça ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
18 juil. 2013 à 14:35
Re,

il faut rafraichir l'affichage de votre formulaire a la fin de votre boucle.
0
jujubas Messages postés 13 Date d'inscription mercredi 17 juillet 2013 Statut Membre Dernière intervention 20 août 2013
18 juil. 2013 à 15:44
Merçi f894009 pour ton aide tout marche à merveille.
0