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

Requêtes et SQL. Discussion :

Modification d'un paramètre d'une requête SQL


Sujet :

Requêtes et SQL.

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Anto03
    Inscrit en
    Octobre 2005
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 155
    Par défaut Modification d'un paramètre d'une requête SQL
    Bonjour,
    Voilà je sais qu'il est possible de modifier le paramètre d'une requête sql lorsqu'il s'agit d'une requête de modification ou de suppression or dans mon cas il s'agit d'une requête de sélection.
    Voyez plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    set RequeteSql = currentdb.OpenRecordset(NomTableArchive)
    RequeteSql.Parameters("MaDate") = MaDate
     
    set ARCHIVE = currentdb.openRecorset(NomTableArchive)
    set REQUETE = Opendatabase(BaseSource).OpenRecordset(RequeteSql.SQL)
    Le problème ici c'est que la valeur de requeteSql.SQL ne change pas et est toujours sous la forme "... WHERE Date_Creation = [MaDate]". Or si j'execute le code RequeteSql.Parameters(0) là il m'affiche bien la date passé en paramètre.

    Il semblerait donc que lorsque l'on modifie un paramètre access ne modifie pas le sql. Que-dois je faire dans ce cas là ? J'aimerai mieux éviter de passer par une table temporaire si possible.
    merci d'avance

  2. #2
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Par défaut
    Bonjour,

    Est-ce que tu as essayé comme dans la faq ?
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim qdf As DAO.QueryDef 
    Dim rcs As DAO.Recordset 
     
      'référence à la requête 
    Set qdf = CurrentDb.QueryDefs("NomQuery") 
     
      'code qui utilise qdf 
      'par exemple 
    qdf.Parameters("NomParamètre") = valeur    '<== si requête paramétrée 
    Set rcs = qdf.OpenRecordset                '<== pour travailler sur les données 
     
     
      'libération de la référence 
    Set qdf = Nothing
    A+

  3. #3
    Membre confirmé Avatar de Anto03
    Inscrit en
    Octobre 2005
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 155
    Par défaut
    Salut LedZeppII,
    Oui bien sûr j'ai essayé cette technique surtout que il me semble que j'en suis l'auteur ^^
    Seulement avec cette technique qui transforme ma requête en recordset je me connecte à ma base de données courrante.
    Or moi je veux me connecter à une autre base de données

  4. #4
    Expert éminent

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Par défaut
    Oui bien sûr j'ai essayé cette technique surtout que il me semble que j'en suis l'auteur ^^


    Seulement avec cette technique qui transforme ma requête en recordset je me connecte à ma base de données courrante.
    Tu n'as qu'à instancier un objet database pointant sur la bonne base de données.

    Un tutoriel qui pourra t'aider :

    http://warin.developpez.com/accesss/dao

    A moins que tu n'en soit aussi l'auteur

  5. #5
    Membre confirmé Avatar de Anto03
    Inscrit en
    Octobre 2005
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 155
    Par défaut
    Oups désolé en effet ce n'est pas moi l'auteur mais j'avais envoyé un email à la FAQ cet été qui reprenait cet exemple à quelque chose prêt...
    Sans rancune
    J'ai déjà un objet dababase qui pointe sur la bonne base de données comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    set REQUETE = Opendatabase(BaseSource)
    seulement comment lui attribuer mon recordset créé précedemment par la méthode dont je suis "presque l'auteur" ^^ :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Set qdf = CurrentDb.QueryDefs("NomQuery") 
     
      'code qui utilise qdf 
      'par exemple 
    qdf.Parameters("NomParamètre") = valeur   
    Set rcs = qdf.OpenRecordset  '<== Ce recordset ici

  6. #6
    Expert éminent

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Par défaut
    Je n'ai rien compris désolé.

    L'objet recordset est ouvert depuis un objet querydef de la base nommée REQUETE en théorie non ?

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

Discussions similaires

  1. Paramètres dans une requête SQL en Sybase
    Par mdjobongo dans le forum SQL Anywhere
    Réponses: 1
    Dernier message: 05/08/2011, 22h54
  2. Réponses: 13
    Dernier message: 21/05/2010, 16h54
  3. [WD9] Passer un paramètre dans une requête SQL
    Par gbzmt dans le forum WinDev
    Réponses: 2
    Dernier message: 03/01/2009, 07h14
  4. Paramètre d'une requête SQL
    Par Chtulus dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 17/04/2008, 19h29
  5. comment passé un paramètre dans une requête sql
    Par java2008 dans le forum BIRT
    Réponses: 0
    Dernier message: 03/03/2008, 12h11

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