Probleme requete VBA access

Bonjour,

Je bloque sur ce code depuis quelques jours et je sui novice en VB .
modifiable46 est une liste deroulante mais certain element de cette liste comportent un espace ce qui me retourne une erreur.
Comment faire pour regler ce probleme??

De plus j'obtien une erreur "Trop peu de parametre, 1 attendu" lors de l'ouverture du recordset
d'ou vient cette erreur??

Private Sub Commande48_Click()
Dim reqsql As String
Dim agit As String
Dim jeuenregistrement
Dim recup As String

agit = Me.Modifiable46
If agit <> "" Then
reqsql = "select * from PROJETS where [BUT_AGITATION_1]=" & agit
MsgBox reqsql
Set jeuenregistrement = CurrentDb.OpenRecordset(reqsql)
While Not jeuenregistrement.EOF
recup = jeuenregistrement.Fields("BUT_AGITATION_1").Value + Chr(10)
jeuenregistrement.MoveNext
If recup <> "" Then
recuper = recup + recuper
End If
Wend
msg = "Les projets suivant correspondent à votre requete : "
MsgBox msg & recuper
End If

merci d'avance pour votre aide
Configuration: Windows XP
Internet Explorer 7.0

9 réponses

  1. hm, pourtant Access est bien capable de convertir le type. il vaut donc mieux de mettre des guillemets, même s'il s'agit d'un numérique.
    1. Modérateur
      Le type numérique prend plusieurs valeurs : byte, entier, entier long, réel...
      1. N_PROJET est de type numerique et j'ai declarer ma variable recup en integer
        1. Modérateur
          Tout dépend quel type de champ est N_PROJET et comment est décrite la variable recup dans ton code.
          1. Encore un petit probleme avec mon code

            agit = Me.Modifiable46
            If agit <> "" Then
            reqsql = "select * from PROJETS where [BUT_AGITATION_1]='" & agit & "'"
            MsgBox reqsql
            Set jeuenregistrement = CurrentDb.OpenRecordset(reqsql)
            While Not jeuenregistrement.EOF
            recup = jeuenregistrement.Fields("N_PROJET").Value + Chr(10)
            jeuenregistrement.MoveNext

            J'ai une incompatibilté de type lorsque je veu recuperer N_PROJET

            Quelqu'un peut-il m'aider??
            Merci
            1. Merci Blux pour ton aide ca a résolu tou mes problémes mais une nouvelle est apparu.

              Lorsqu'un element recherché existe l'erreur suivant aparait : "Propriété ou méthode non gerer par cette objet."

              J'ai essayé d'enlever le .value dans cette ligne "recup = jeuenregistrement.Fields("BUT_AGITATION_1").Value + Chr(10) "
              mais l'erreur aparait toujour.
              1. Et même pour initialiser agit:

                agit = modifiable46.value

                la remarque de Blux est valide si le champs BUT_AGITATION_1 est de type chaine de caractères dans la base de données.
                1. Modérateur
                  Salut,

                  il faut mettre ta valeur entre quotes :
                   reqsql = "select * from PROJETS where [BUT_AGITATION_1]='" & agit & "'" 
                  --

                  A+ Blux
                   "Les cons, ça ose tout.
                  C'est même à ça qu'on les reconnait"