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 :

Filtre de valeurs dans la base de données à partir d'excel


Sujet :

VBA Access

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Filtre de valeurs dans la base de données à partir d'excel
    Bonjour le Forum,

    Je suis débutant avec access donc nouveau sur ce forum. Je développe depuis plusieurs années avec Excel et je viens de découvrir MsAcces...Je n'étais pas assez confiant pour l'utiliser mais je viens de découvrir un outil merveilleux...

    J'ai préparé une requête à partir d'Excel pour interroger ma base de données mais la requête me retourne toujours la même valeur

    Lors de la création de ma requête, il n'y avait qu'un seul record donc ma requête m'a retourné que cet enregistrement. Je suis en développement et j'ai actuellement 3 enregistrements qui ont des NoKeyRef unique.

    J'aimerais ajouter un filtre dans ma requête pour sélectionner seulement le NoKeyRef choisi.

    J'utilise le code ci-dessous que j'ai enregistré avec Excel et il me retourne toujours mon NoKeyRef = K-71222155321 alors que ma base contient 3 enregistrements K-71222155321 ,K-71222155357,K-71222155388.

    Comment ajuster mon code (ou comment créer un nouveau code) pour récupérer des enregistrements selon la valeur désirée...

    Dans ma feuille Excel, mon NoKeyRef se trouve dans la cellule C2



    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
    With ActiveSheet.QueryTables.Add(Connection:= _
            "FINDER;C:\APPS\TEAS\TEAS_Data\DQY\FlowToTTI.dqy", Destination:=Range("A1"))
     
            .Name = "FlowToTTI"
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = True
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .PreserveColumnInfo = True
            .Refresh BackgroundQuery:=False
        End With
    Merci d'aider un débutant
    Xtian_Québec

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Autres solution ?
    Re le Forum,

    Je cherche dans le forum, dans l'aide VBA et je sens que je suis proche mais il me manque un petit quelquechose que je ne saisie pas...

    J'ai beau modifier mon code en suivant les infos trouvés dans mes recherches mais sans résultat...

    Allon-y avec un premier cours de base:

    Ce que je veux faire, c'est récupérer dans Excel un record de ma base de données selon un critère précis. J'ai créé les lignes suivantes avec des infos que j'ai trouvé avec l'option QueryTables.Add mais, la connection, le SQL, les paramêtres...je m'y perd...

    Voici mon nouveau bout de code...qui ne fonctionne pas évidemment...

    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
    22
    23
    24
    25
    Sub test2()
    Dim cn As ADODB.Connection
    Dim RS As ADODB.Recordset
    Dim strKey As String
    Dim strSQL As String
        Set cn = New ADODB.Connection
            strCnxn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
                        "C:\APPS\TEAS\TEAS_Data\TSOdB.mdb;"
        With cn
            .ConnectionString = strCnxn
            .Open
        End With
            strKey = Worksheets("TTI").Range("C2").Value
            strSQL = "SELECT * " & _
                     "FROM FlowToTTI " & _
                     "WHERE KeyRef = '" & CStr(strKey) & "'"
            With ActiveSheet.QueryTables.Add(Connection:=strCnxn, _
                Destination:=Range("A1"), Sql:=strSQL)
                .Refresh
            End With
            RS.Close
            Set RS = Nothing
        cn.Close
        Set cn = Nothing
    End Sub
    Votre aide sera grandement appréciée.
    Merci encore

    Xtian_Québec

Discussions similaires

  1. Réponses: 3
    Dernier message: 27/02/2014, 16h55
  2. Rechercher une valeur dans une base de données
    Par encoremoi21258 dans le forum Requêtes
    Réponses: 3
    Dernier message: 09/02/2014, 22h29
  3. trouver une valeur dans une base de donnée
    Par zerkos dans le forum Développement
    Réponses: 2
    Dernier message: 29/06/2012, 13h26
  4. Enregistrer des valeurs dans une base de donnée SQL
    Par MoTaWer dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 11/05/2011, 14h16
  5. Réponses: 3
    Dernier message: 20/09/2010, 14h55

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