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

Macros et VBA Excel Discussion :

Passage de paramètre dans une requête ACCESS depuis EXCEL


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2011
    Messages : 163
    Par défaut Passage de paramètre dans une requête ACCESS depuis EXCEL
    Bonjour,

    J'utilise actuellement un code vba sous excel pour m'extraire une requête access sur Excel

    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
    16
    17
    18
        Set ws = DBEngine.CreateWorkspace("myWS", "admin", "", dbUseJet)
        Set db = DBEngine.OpenDatabase(chemin_fichier_lanceur & base_access, , False)
     
        db.QueryTimeout = 0
        Set qry = db.QueryDefs("" & requete & "")
        Set rs = qry.OpenRecordset
     
        rs.MoveLast: rs.MoveFirst
     
        For X = 1 To rs.RecordCount
            For Y = 1 To rs.Fields.Count
                Sheets("de_bon_matin").Cells(X + 1, Y).Value = rs.Fields(Y - 1)
            Next
            rs.MoveNext
        Next
     
        db.Close
        ws.Close
    J'aimerais savoir si il est possible de passer des paramètres à l'appel de la requête en utilisant ce code ?

    Cordialement

    Shakapouet

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    si ta requêt contient déjà les paramètres, fait juste un select * fom Requête et le reste ne change pas!
    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
    16
    17
    18
    19
    20
    21
    Enum ConstAdo    adSmallInt = 2
         adInteger = 3
         adSingle = 4
         adDate = 7
         adBoolean = 11
         adDecimal = 14
         adNumeric = 131
         adVarChar = 200
    End Enum
    Private Sub test()
    Set Cn = CreateObject("ADODB.Connection")
    Cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\rdurupt\Documents\Données1.accdb;" 'Je defini un chêne de texte qui contient les information de ma connectionet j'ouvre ma connection
    Set Cm = CreateObject("Adodb.Command")
    Cm.CommandText = "Select * from [Table] where Debut=?;" 'je passe ma requête à mon objet command"
    Cm.ActiveConnection = Cn 'j'affecte ma connection à ma commande
    Set Debut = CreateObject("ADODB.Parameter")
    Debut.Name = "debut": Debut.Type = adDate: Debut.Value = CDate(Format(DDebut, "yyyy-mm-dd")): Cm.Parameters.Append Debut
    Set RetournRs = Cm.Execute 'on recupere le résultat de la requête.
     Sheets("de_bon_matin").Range("A2").CopyFromRecordset  RetournRs
     RetournRs.Close: Cn.Close
    End Sub

Discussions similaires

  1. Paramètres dans une requête
    Par christellel198 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 24/10/2005, 13h49
  2. Réponses: 7
    Dernier message: 18/05/2005, 15h09
  3. Réponses: 9
    Dernier message: 13/05/2005, 03h13
  4. Passage de paramètres dans une requête imbriquée
    Par DrakkoFR dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/02/2005, 12h46
  5. Passage de variable dans une requête
    Par zestrellita dans le forum Langage SQL
    Réponses: 5
    Dernier message: 02/09/2004, 13h27

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