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

Access Discussion :

Comment utiliser une variable issue d'un recordset dans une requète SQL [AC-2003]


Sujet :

Access

  1. #1
    Candidat au Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mars 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2012
    Messages : 1
    Points : 3
    Points
    3
    Par défaut Comment utiliser une variable issue d'un recordset dans une requète SQL
    Je veux me servir de la valeur du champ (N° automatique) "N° programme" des enregistrements du recordset d'une table "Programmes dupliqués" pour créer une table "Pays dupliqués". Access me renvoie le message "Entrer une valeur de paramètre" pour la variable "NProgramme" où je stocke la valeur du champ. Je suis bloqué depuis plusieurs jours sur ce point et n'ai pas trouvé ou sû chercher d'explication dans les FAQ. Quelqu'un a-t-il la solution? Mon code est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Dim Cnx As ADODB.Connection
    Dim Rst As ADODB.Recordset
    Set Cnx = CurrentProject.Connection
    Set Rst = New ADODB.Recordset
     
    Rst.ActiveConnection = Cnx
    Rst.Open "[Programmes dupliqués]"
     
            'While Not Rst.EOF (me servira ultérieurement à parcourir la table)
            'Duplique les pays correspondant au programme en cours et crée la table Pays dupliqués
            Dim NProgramme As Integer
            NProgramme = Rst.Fields("N° programme").Value
            Rst.MoveFirst
     
            DoCmd.RunSQL "SELECT [N° programme], Pays, [Type police], [GPD vérifié], Observations, MAJ INTO [Pays dupliqués] FROM Pays WHERE ((([N° programme]) = NProgramme))"

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Un grand classique quand on commence, voici la solution.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunSQL "SELECT [N° programme], Pays, [Type police], [GPD vérifié], Observations, MAJ INTO [Pays dupliqués] FROM Pays WHERE ((([N° programme]) = " & NProgramme & "))"
    Tout ce qui est entre " est considéré comme du texte et n'est pas interprété par le compilateur VBA de Access.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/10/2014, 10h28
  2. Réponses: 0
    Dernier message: 16/01/2009, 15h15
  3. Réponses: 5
    Dernier message: 04/12/2008, 15h58
  4. Comment sauvegarder un objet shape de type msopicture dans une variable
    Par PascalCos dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/07/2007, 18h35
  5. Réponses: 2
    Dernier message: 08/12/2006, 11h09

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