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 :

Export Acces->Excel Requette sur bdd oracle


Sujet :

Access

  1. #1
    Membre habitué
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2004
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2004
    Messages : 131
    Points : 187
    Points
    187
    Par défaut Export Acces->Excel Requette sur bdd oracle
    Bonjour à tous,
    Voila mon problème.
    J'essaye d'exporter vers Excel le résultat d'une requette effectuée dans Access sur une base Oracle.
    En fait j'ai une base oracle.
    Cette base oracle contient une table sur laquelle j'aimerai récupéré un certain nombre d'enregistrements.
    L'importation ou la liaison de cette table oracle étant impossible car elle possède trop d'indexes, j'ai fait un formulaire Access qui liste dans une liste de valeur les enregistrements retournés.
    J'aimerai bien Exporter cette liste de valeur vers un fichier Excel et c'est la que je coince
    J'ai regardé les fonctions DoCmd.TransferSpreadsheet mais ça a rien donné. J'ai effectué une requette sur ce forum j'ai trouvé un code mais pas moyen de l'adapter.
    Voici le code de génération du fichier 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
     
    vSource = "ODBC;Driver={Oracle ODBC Driver};UID=USER;PWD=PASS;dbq=DB;ASY=OFF;"
    DBEngine.DefaultType = dbUseODBC
    Set WkODBC = CreateWorkspace("", "", "", dbUseODBC)
    Set ConPoint = WkODBC.OpenConnection("", , False, vSource)
    TempstrSelect = "SELECT NAME FROM Table WHERE Name LIKE '%a' "
    Set Qdf1 = ConPoint.CreateQueryDef(dbOpenDynamic, TempstrSelect)
     
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Qdf1", "C:\STATISTIQUES.xls"
    M = MsgBox("Votre requête est enregistrée sous C:\Statistique.xls !", vbOKOnly, "STATISTIQUES")
    DoCmd.DeleteObject acQuery, "SQLExp"
    Set TempQuery = Nothing
    Set db = Nothing
    End Sub
    En fait dans le message du forum qui m'a inspiré, la création de requette est comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set TempQuery = db.createQueryDef(SQLWHERE, SQLString)
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, SQLWHERE, "STATISTIQUES.xls" 
    Set TempQuery = Nothing 
    Set db = Nothing
    Où SQLWHERE Est une requette
    Mais quand je défini cette requette comme ça ça plante car je me connecte en base locale et pas à ma base oracle...
    Bref c'est la misère.
    Alors si quelqu'un à une suggestion je suis preneur!
    Merci d'avance.

    Weedtrompette

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Voilà une façon de générer un fichier Excel à partir du résultat d'un select :
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    SQLtemp = "select NOM, PRENOM from MaTable "
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.open SQLtemp, Application("DsnODBC")
    if not rs.EOF then
    	rs.MoveFirst
    	chemin = "C:\DATABASES\MonFichier.XLS"
    	Set fso = CreateObject("Scripting.FileSystemObject")
    	if fso.FileExists(chemin) then
    		fso.DeleteFile(chemin)
    	end if
    	Set a = fso.CreateTextFile(chemin, True)
    	' chr (34) remplace les guillements à la suite de l'instruction
    	a.writeLine "ID;PWXL;N;E" ' Début du codage excel
     
    	' Titres des colonnes
    	a.writeLine "C;Y1;X1;K" & CHR(34) & ("NOM") & CHR(34)
    	a.writeLine "C;Y1;X2;K" & CHR(34) & ("PRENOM") & CHR(34)
    	' Lignes de données
    	Ligne = 2
    	do while not rs.EOF
    		a.writeLine "C;Y" & Ligne & ";X1;K" & CHR(34) & (rs("NOM")) & CHR(34)
    		a.writeLine "C;Y" & Ligne & ";X2;K" & CHR(34) & (rs("PRENOM")) & CHR(34)
    		Ligne = Ligne + 1
    		rs.MoveNext
    	Loop
    	a.writeLine "E" ' Fin du codage excel
    	rs.Close
    	set rs = nothing
    	a.Close
    	Set fso = nothing
    else
    	rs.Close
    	set rs = nothing
    end if

  3. #3
    Membre habitué
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2004
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2004
    Messages : 131
    Points : 187
    Points
    187
    Par défaut

    Ca fonctionne correctement!
    Depuis le temps que je cherchais ta réponse est vraiment la bienvenue!!
    Allez, hop, une ptite hola pour toi pc75


    encore merci!

    Weedtrompette

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

Discussions similaires

  1. Erreur sur BDD Oracle
    Par Dullbrain dans le forum VB.NET
    Réponses: 2
    Dernier message: 15/05/2012, 09h48
  2. Problème avec JOB sur BDD ORACLE en DBLINK
    Par fcapliez dans le forum PL/SQL
    Réponses: 4
    Dernier message: 06/10/2010, 08h51
  3. requête SQL sur BDD Oracle
    Par Eleven O'Clock dans le forum ASP.NET
    Réponses: 3
    Dernier message: 18/08/2010, 12h10
  4. Export java en Excel + filtre sur les colonnes
    Par Lolitaaa dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 16/10/2009, 17h37
  5. Pb Export Client 7.3.4 sur base oracle 9.2.0.6
    Par jmglbb dans le forum Administration
    Réponses: 3
    Dernier message: 09/01/2007, 15h54

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