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 :

requete SQL lors du transfert table+ champ ente access et excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 502
    Par défaut requete SQL lors du transfert table+ champ ente access et excel
    bonjour
    lors d'un transfert de access vers excel , j'ai dans ma base access 2 tables.
    la table1 contient un champ nommé INDEX qui contient des valeurs numeriques comme (1,2,3,..)
    dans ma table 2 j'ai , en autre, un champ index et couleur ou :
    index =1 alors couleur= rouge
    index= 2 alors couleur=vert
    etc....

    j'aimerai dans ma requete SQL remplacer le contenu du champ INDEX de la table1 par la COULEUR correspondante contenu dans la tABLE2 directement dans ma feuille excel

    merci

  2. #2
    Expert confirmé
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Par défaut
    Salut,

    Dans ta requête, tu places les 2 tables.
    Et au lieu de mettre le Champ Index de la table 1 : tu mets le champ Couleur.

  3. #3
    Membre éprouvé Avatar de Commodore
    Homme Profil pro
    Business manager
    Inscrit en
    Février 2004
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Business manager

    Informations forums :
    Inscription : Février 2004
    Messages : 599
    Par défaut
    aie, j'ai pas venu assez rapide...

    bon,

    dans access, tu peux modéliser les requetes en graphique.
    on va faire simple: tu lies les 2 tables par le champ index, et tu affiches la couleur

  4. #4
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 502
    Par défaut sql
    ouais (je debute)
    voila le voila le code de la requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .CommandText = Array("SELECT  * FROM arrivee,prix WHERE  annee>2006 and numero<6 and type='Haie' and numero<6  ")
    dans table arrivee il ya le champ indexprix
    dans la table prix il y a le champ index et le champ couleur

    je souhaite afficher dans mon tableau excel
    si indexprix(table arrivee)=index (table prix) alors recuperer le contenu du champ couleur (table prix)

  5. #5
    Membre éprouvé Avatar de Commodore
    Homme Profil pro
    Business manager
    Inscrit en
    Février 2004
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Business manager

    Informations forums :
    Inscription : Février 2004
    Messages : 599
    Par défaut
    J'aurais + vu un truc du genre en sql

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT prix.couleur [,autres_champs] FROM prix,arrivee [,autres tables]
    WHERE prix.index=arrivee.index
    [AND/OR autres_conditions]

  6. #6
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 502
    Par défaut sql
    ok merci je regarde

  7. #7
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 502
    Par défaut sql requete
    bonjour
    bon j'ai une erreur quand dans mon where je fais la comparaison
    table1.index1=table2.index2
    l'erreur est "erreur d'excecution 13" imcompatibilite de type'
    j' ai regarde les 2 champs index1 et index2 ils sont de type numerique


    A+

  8. #8
    Membre éprouvé Avatar de Commodore
    Homme Profil pro
    Business manager
    Inscrit en
    Février 2004
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Business manager

    Informations forums :
    Inscription : Février 2004
    Messages : 599
    Par défaut
    peux-tu poster la requete entiere ? (quitte à falsifier les noms de champs et tables si c'est confidentiel)

  9. #9
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 502
    Par défaut
    voici le code complet
    des que j'enleve la conditon dans le where , le code se deroule sans erreur.

    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
    'transfert du fichier access vers excel
    Private Sub CommandButton1_Click()
    Dim NomBase As String
     
    NomBase = "G:\turf.MDB" 'chemin ou se trouve la base access à ouvrir
     Sheets("feuil1").Range("A2:AA64000").Clear 'efface le contenu du fichier excel et de la feuille d'acceuil
    With Sheets("Feuil1").QueryTables.Add(Connection:=Array("OLEDB;Provider=Microsoft.jet.OLEDB.4.0;" & _
            "Data source=" & NomBase), Destination:=Sheets("Feuil1").Range("A2")) 'endroit dans la feuil excel ou on commence à ecrire
     
        .CommandText = Array("SELECT copointeur,codate,coreunion,cocourse,cotypecourse,cospéciale,coprix,coallocation,copartant,codistance, rapports.rarapport, copointeur, rapointeurco,hippodrome.hippodrome FROM Entetecourses,rapports,hippodrome WHERE Entetecourses.copointeurhi=hippodrome.hipointeur and codate>#01/01/2007# and cospéciale='Quinté'  ") 'selection de la table et des champs
        .Name = "TestRequete"
        .CommandType = xlCmdTable
        .FieldNames = True 'nom des champs de la table access qui servent d'entete vers la feuille excel
        .RowNumbers = False
        .PreserveFormatting = False
        .BackgroundQuery = True
        .RefreshStyle = xlOverwriteCells
        .AdjustColumnWidth = True
        .PreserveColumnInfo = False 'format
        .Refresh BackgroundQuery:=False
    End With
     
     
     
    End Sub

  10. #10
    Membre éprouvé Avatar de Commodore
    Homme Profil pro
    Business manager
    Inscrit en
    Février 2004
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Business manager

    Informations forums :
    Inscription : Février 2004
    Messages : 599
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT copointeur, codate, coreunion, cocourse, cotypecourse, cospéciale, coprix, coallocation, copartant, codistance, rapports.rarapport, copointeur, rapointeurco, hippodrome.hippodrome 
    FROM Entetecourses, rapports, hippodrome 
    WHERE Entetecourses.copointeurhi=hippodrome.hipointeur 
        AND codate > #01/01/2007# 
        AND cospéciale = 'Quinté'
    Ce ne serait pas dû au cospéciale = 'Quinté'
    Je me demande si les ' ne sont pas censés entourer un seul caractère...

    As-tu essayé avec des " ?

    (note: en VBA il faut doubler les " dans une chaine de caractères)

    edit: chouette, tu travailles à la française des jeux

  11. #11
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 502
    Par défaut sql
    vouais
    j'ai tout essayé.
    cela plante des que je rentre la comparaison dans deux bases.????????
    j'ai essaye d'autre criteres c'est pareil.

    les " ne marchent pas

    j'ai essaie de me faire une base sur les courses en collectant à droite et à gauche.

    je cherche en core un peu sinon il faudra faire cela sous excel ???????



    A+

  12. #12
    Expert confirmé
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Par défaut
    Question bête...
    Ce code est sous Excel ??
    Pourquoi ne pas créer la requête sous Access et importer cette requête.
    C'est juste une idée comme ça...

  13. #13
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    502
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 502
    Par défaut sql
    bonsoir
    oui le code est ecrit à partir d'excel , en vbA.

    pour le reste je maitrise pas access pour faire une requete.

    A+

    tiens ,'jai essayé qql chose qui semble marche !!!!!!!!!!!!!!
    .CommandText = "SELECT * FROM ......WHERE index1 = index2

    j'ai enleve le array et les ()

    je teste

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

Discussions similaires

  1. [Access 2003] requete sql date max par certain champs
    Par Gary_Stoupy dans le forum Langage SQL
    Réponses: 6
    Dernier message: 01/02/2007, 10h36
  2. requete sql avec between sur des champs de type Date
    Par ersoufiane dans le forum Langage SQL
    Réponses: 2
    Dernier message: 02/08/2006, 20h43
  3. Requete sql pour création de table dans une base access
    Par Ben156 dans le forum Bases de données
    Réponses: 1
    Dernier message: 17/01/2006, 23h12
  4. sorties de requetes sql: mettre des separateurs de champs
    Par tomsoyer dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/08/2005, 18h05
  5. DBNavigator, requete SQL et modif d'un champ
    Par TieumB dans le forum C++Builder
    Réponses: 9
    Dernier message: 27/01/2004, 09h50

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