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 :

Remplacer une partie de chaine par une variable


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 23
    Points : 20
    Points
    20
    Par défaut Remplacer une partie de chaine par une variable
    Bonjour,

    après avoir fait le tour de la FAQ, des tutoriels je n'ai pas trouvé mon bonheur . J'ai une requete paramétrée sql (SELECT DISTINCT TOP 100 PERCENT MotDePasse, LogIn, RaisonSociale FROM dbo.T_Tiers
    WHERE (MotDePasse = @Mdp) AND (LogIn = @LogIn)) stockée. Je veux faire appel à cette requête via VBA en passant les paramètres via 2 variables....et si dans la fonction ci-après RS_MdP.Open ....fonctionne parfaitement lorsque je passe les données directement à la requete, rien ne va plus lorsque je veux passer par des variables.

    Question :
    1) est-ce un simple problème de synthaxe ajouter chr(34)...etc )
    2) ou ce que je veux faire est impossible et je dois traiter le problème autrement ?

    Merci de vos conseils

    JPaul

    NB : SQL server 2000, Access 2003

    Public Function FO_VBA_ADO(MdP_, LogIn_)

    Dim Cn As ADODB.Connection
    Set Cn = CurrentProject.Connection

    'MsgBox Cn.ConnectionString 'test la connection

    Dim RS_MdP As New ADODB.Recordset

    'fonctionne !!!
    RS_MdP.Open "PS_teste_mdp 'test', 'essai'", Cn, adOpenStatic, adLockReadOnly

    'ne fonctionne pas !!!
    ' LogIn_ et Mdp_ ramène également test et essai....via la fonction
    RS_MdP.Open "PS_teste_mdp LogIn_, MdP_", Cn, adOpenStatic, adLockReadOnly

    Set Cn = Nothing


    End Function

  2. #2
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 184
    Points : 1 363
    Points
    1 363
    Par défaut
    Paf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RS_MdP.Open "PS_teste_mdp '" & LogIn_ & "', '" & MdP_& "'", Cn, adOpenStatic, adLockReadOnly

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 23
    Points : 20
    Points
    20
    Par défaut lancer requete SQL paramétrée/variables depuis VBA avec ADOB.recordset
    Kloun,

    merci de votre réponse rapide...mais je pense qu'il y a une problème de synthaxe :

    RS_MdP.Open "PS_teste_mdp '" & LogIn_ & "', '" & MdP_& "'", Cn, adOpenStatic, adLockReadOnly

    ne fonctionne pas...

    Cordialement

    JP

  4. #4
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 184
    Points : 1 363
    Points
    1 363
    Par défaut
    il doit manquer un espace entre le _ et le & de MDP.
    Sinon, c'est quoi le message d'erreur ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 23
    Points : 20
    Points
    20
    Par défaut lancer requete SQL paramétrée/variables depuis VBA avec ADOB.recordset
    Citation Envoyé par Kloun Voir le message
    il doit manquer un espace entre le _ et le & de MDP.
    Sinon, c'est quoi le message d'erreur ?
    c'est exact...mais même avec l'espace cela ne fonctionne pas...le contenu des variables n'est pas passé à la requête...

    je le vois parce que MsgBox RS_MdP.RecordCount me retourne 1 normalement et ici j'ai zéro...

    Une autre piste ?

    Merci

    JP

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 23
    Points : 20
    Points
    20
    Par défaut lancer requete SQL paramétrée/variables depuis VBA avec ADOB.recordset
    Oups,

    c'est résolu, effectivement cela fonctionne...

    j'avais juste inversé le contenu de mes 2 variables....


    Merci


    JP

  7. #7
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 184
    Points : 1 363
    Points
    1 363
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Public Function FO_VBA_ADO(MdP_ as string, LogIn_ as string)
    Dim Cn As ADODB.Connection
    Dim RS_MdP As New ADODB.Recordset
    dim iStr as string
     
    Set Cn = CurrentProject.Connection
     
    ' LogIn_ et Mdp_ ramène également test et essai....via la fonction 
    iStr = "PS_teste_mdp '" & LogIn_ & "', '" & MdP_ & "'"
    debug.print iStr
    RS_MdP.Open iStr, Cn, adOpenStatic, adLockReadOnly
    Set Cn = Nothing
    End Function
    Que vaut iStr ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-97] Requete SQL et variable VBA
    Par servtech2 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 15/03/2010, 15h34
  2. [AC-2007] Requete SQL sur variables date avec #
    Par KIK83 dans le forum VBA Access
    Réponses: 4
    Dernier message: 27/10/2009, 06h31
  3. [MySQL] récupération de variables depuis flash avec loadvar()
    Par lochou dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 23/10/2006, 23h07
  4. Plantage requete SQL simple sous Delphi7/ADO avec Access
    Par tomy29 dans le forum Bases de données
    Réponses: 2
    Dernier message: 25/08/2005, 11h09
  5. Prob de requete sql et variable
    Par agent-zaizai dans le forum ASP
    Réponses: 11
    Dernier message: 21/10/2003, 16h54

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