Requete sql de Excel vers access

Bonjour

Est possible depuis excel d'imposer une requete sur ACCESS avec une variable de la ligne WHERE = une cellule de mon Excel ?

Exemple ci dessous + fichier pj

SELECT test.[Champ2]

FROM test

WHERE (((test.[Champ1])=VARIABLE]))

Actuellement j'ai simplement lié excel avec access , les requette basic fonctionne

merci pour votre aide

loic

capture

Bonjour Loic

Et en nommant la cellule contenant ta variable !?

Puis dans ta requête

SELECT test.[Champ2]
FROM test
WHERE (((test.[Champ1])=CelluleNommée]))

A+

Bonjour,

Une piste à creuser (encadré par des apostrophes si c'est un String) :

Private Sub Requete()

    Dim ConnectBD As Object
    Dim Rs As Object
    Dim CheminBase As String
    Dim ChaineSQL As String
    Dim Variable As String

    Set ConnectBD = CreateObject("ADODB.Connection")
    Set Rs = CreateObject("ADODB.Recordset")

    'adapter le chemin de la base de données
    CheminBase = "E:\Dossiers1\SousDossiers\MaBase.mdb"

    With ConnectBD

        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .ConnectionString = CheminBase
        .Open

    End With

    Variable = Range("A1").Value

    ChaineSQL = "SELECT * "
    ChaineSQL = ChaineSQL & "FROM test "
    ChaineSQL = ChaineSQL & "WHERE Champ1 = '" & Variable & "'"

    With Rs

        .CursorType = 1
        .LockType = 3

        .Open ChaineSQL, ConnectBD

        Do Until .EOF

            Debug.Print .Fields("Champ2") '<--- récup des valeurs retournées, à adapter !
            .MoveNext

        Loop

    End With

    ConnectBD.Close

    Set ConnectBD = Nothing
    Set Rs = Nothing

End Sub

Bonjour

Coucou Bruno

Une piste sans VBA http://www.excel-formations.fr/Trucs_astuces/ACCESS01.php

merci beaucoup pour ensemble de vos pistes , je test et je vous reviens

loic

bonjour à tous ,

Malheureusement la premier solution ne fonctionne pas voir ( image 1 et 2).

Pour la solution VBA j'ai une erreur sur la commande "open" :

Private Sub Requete()

Dim ConnectBD As Object

Dim Rs As Object

Dim CheminBase As String

Dim ChaineSQL As String

Dim Variable As String

Set ConnectBD = CreateObject("ADODB.Connection")

Set Rs = CreateObject("ADODB.Recordset")

'adapter le chemin de la base de données

CheminBase = "H:\Projet\ISAE\BasePointcontrole.accdb"

With ConnectBD

.Provider = "Microsoft.Jet.OLEDB.4.0"

.ConnectionString = CheminBase

.Open "bug à ce niveau"

je pense que le provider Microsoft.Jet.OLEDB.4.0 n'est peut etre pas installé chez moi ?

merci beaucoup

loic

capture1 captur2

Bonjour

Concernant Microsoft.Jet.OLEDB ta copie d'écran affiche la version 6 donc à adapter dans le code VBA

Rechercher des sujets similaires à "requete sql access"