IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

SQL paramétrée avec une variable déclarée dans la procédure


Sujet :

VBA Access

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 153
    Points : 75
    Points
    75
    Par défaut SQL paramétrée avec une variable déclarée dans la procédure
    Bonjour,

    j'ai fait un recordset à partir d'une requête SQL.
    Cette requête à son paramètre WHERE sur une variable de ma procédure, et cela ne fonctionne pas.
    La valeur MonSF est vérifiée.
    voici une partie du code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
        Dim MonSF As String
        Dim oDb As dao.Database
        Dim oRst As dao.Recordset
        Dim MySqlSF As String
        MonSF = Me.Numéro_SF
        Set oDb = CurrentDb
     
    Dim oMySF As dao.Recordset
     
     
    MsgBox (MonSF)   ‘ ça me retourne une valeur alphanum, test
     
    MySqlSF = "SELECT Tab.SF FROM Tab WHERE Tab.SF =  " & MonSF & ""
    j'ai comme erreur
    "utilisation incorrecte de null"

    Merci pour votre aide

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 349
    Points : 23 813
    Points
    23 813
    Par défaut
    Bonjour,

    si ton critere est alphanumerique il faut utiliser des delimiteurs, soit l'apostrophe, soit le guillement. Personnelement je prefere le guillemet.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    MySqlSF = "SELECT Tab.SF FROM Tab WHERE Tab.SF =  """ & MonSF & """"

    Si tu crains d'avoir des guillemets dans ton critere alors il faut faire

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    MySqlSF = "SELECT Tab.SF FROM Tab WHERE Tab.SF =  """ & replace(MonSF,"""","""""") & """"

    Qui va doubler tes guillemets pour que access les consideres comme un caractere ordinaire et non un separateur.

    Tu peux faire la meme choses avec l'apostrophe.

    En passant pour les dates le separateur est # (ex : #2014-06-09#).

    A+

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 153
    Points : 75
    Points
    75
    Par défaut
    Merci,

    mais ça ne marche pas.

    SQL admet-il les variables sous VBA?

    Cordialement,

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 349
    Points : 23 813
    Points
    23 813
    Par défaut
    SQL en tant que tel n'admet pas les variables de VBA mais ici tu calcules une chaine SQL avec du VBA c'est completement different. Tu peux presque faire tout ce que tu veux.

    En dehors de cela, pour passer un parametre a une requete tu peux utiliser les parametres de la requete et les remplir avec VBA avant d"assigner ta requete a un recordset ou faire reference a un objet exterieur (ex : un form) ou une fonctions publique.

    Dans ton cas, qu'est-ce qui ne marche pas ?

    • Tu n'as pas de resultat ?
    • Le resultat n'est pas celui attendu ?
    • Tu as une erreur de syntaxe ?


    A+

Discussions similaires

  1. Réponses: 9
    Dernier message: 19/03/2010, 08h15
  2. Faite une requête avec une variable contenu dans un champ
    Par Space Cowboy dans le forum Débuter
    Réponses: 3
    Dernier message: 18/11/2008, 14h45
  3. [SQL] $_POST avec une variable SQL
    Par heruwenli dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 31/05/2007, 16h38
  4. [SQL] Comment insérer une variable php dans une requête SQL ?
    Par Yagami_Raito dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 14/05/2007, 08h47
  5. accéder à une variable déclarée dans un autre fichier
    Par sg.forums dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 31/10/2006, 09h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo