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

Oracle Discussion :

[OLE DB] Problème de connexion et de compréhension


Sujet :

Oracle

  1. #1
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut [OLE DB] Problème de connexion et de compréhension
    Etat :
    Oracle 9.i (installé en client ) / Windows Xp Pro

    Bonjour à tous ...

    Je suis débutante en Oracle et je dois faire des tests pour un de mes enseignants ...

    Je vous explique : Je dois réaliser une base de données sur Oracle ( c'est fait ) et je dois, par couche OLE DB lier mes tables dans une base de données Access.

    En fait voici un bout de code qui vient de : orafrance qui est Rédacteur / Modérateur.

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    Global OraSession As Object
    Global OraDatabase As Object
    Global theDynaset As Object
     
    Sub macro1()
    Connect = "easi/easi"
    base = "easpas1"
     
        ' Connexion à la base
        Set OraSession = CreateObject("OracleInProcServer.XOraSession")
        Set OraDatabase = OraSession.OpenDatabase(base, Connect, 0&)
     
        ' Définition de la requête
        stmt = "select * from all_tables where rownum < 11"
     
        ' Parsing de la requête
        Set theDynaset = OraDatabase.CreateDynaset(stmt, 0&)
     
        ' theDynaset.Fields(n).Name -> nom de la n-iéme colonne
        ' theDynaset.Fields(n).Value -> valeur de la n-iéme colonne
        ' theDynaset.DbMoveNext -> enregistrement suivant
        ' theDynaset.RecordCount -> nombre de lignes
        ' theDynaset.Fields.Count -> nombre de colonne
     
        ' par exemple
    reccount = theDynaset.RecordCount
    fldcount = theDynaset.Fields.Count
     
            For Nocolonne = 1 To fldcount
     
            Cells(1, Nocolonne) = theDynaset.Fields(Nocolonne - 1).Name
            Columns(Nocolonne).ColumnWidth = 40
     
            Next Nocolonne
     
        If (reccount = 0) Then
            Application.StatusBar = "The table " + Cells(4, 6) + " is empty."
        Else
            Application.StatusBar = Str(theDynaset.RecordCount) & " lines into " + Cells(4, 6) + "."
            ' Display data
            For NoLigne = 2 To reccount + 1
                For Nocolonne = 1 To fldcount
                    Cells(NoLigne, Nocolonne) = theDynaset.Fields(Nocolonne - 1).Value
                    If (Nocolonne Mod 2) = 0 Then
                        Cells(NoLigne, Nocolonne + 1).Interior.ColorIndex = 40
                    End If
                Next Nocolonne
            If Nocolonne <> reccount Then
                    theDynaset.DbMoveNext
            End If
            Next NoLigne
        End If
    End Sub
    Je ne comprend pas très bien comment faire marcher ce code ... Où dois-je le copier ( dans un module Access ??? ) et que dois-je paramètrer ???

    Es ce que quelqu'un pourrait m'expliquer svpl ??? Merci de votre aide à tous ...

  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut Re: [OLE DB] Problème de connexion et de compréhension
    D'abord c'est du vba donc une macro excel

    Global OraSession As Object
    Global OraDatabase As Object
    Global theDynaset As Object

    Sub macro1()
    Connect = "easi/easi" user/password
    base = "easpas1" sid de la base

    ' Connexion à la base
    Set OraSession = CreateObject("OracleInProcServer.XOraSession")
    Set OraDatabase = OraSession.OpenDatabase(base, Connect, 0&)

    ' Définition de la requête
    stmt = "select * from all_tables where rownum < 11"
    stmt contient la requête a exécuter
    ' Parsing de la requête
    Set theDynaset = OraDatabase.CreateDynaset(stmt, 0&)

    ' theDynaset.Fields(n).Name -> nom de la n-iéme colonne
    ' theDynaset.Fields(n).Value -> valeur de la n-iéme colonne
    ' theDynaset.DbMoveNext -> enregistrement suivant
    ' theDynaset.RecordCount -> nombre de lignes
    ' theDynaset.Fields.Count -> nombre de colonne
    bah là je peux pas commenter plus quand même
    ' par exemple
    reccount = theDynaset.RecordCount
    fldcount = theDynaset.Fields.Count
    ici on boucle pour écrire le nom des colonnes dans la feuille excel
    For Nocolonne = 1 To fldcount

    Cells(1, Nocolonne) = theDynaset.Fields(Nocolonne - 1).Name
    Columns(Nocolonne).ColumnWidth = 40

    Next Nocolonne

    If (reccount = 0) Then
    Application.StatusBar = "The table " + Cells(4, 6) + " is empty."
    Else
    Application.StatusBar = Str(theDynaset.RecordCount) & " lines into " + Cells(4, 6) + "."
    ' Display data
    ici on bloucle pour afficher les lignes retournées par le select
    For NoLigne = 2 To reccount + 1
    For Nocolonne = 1 To fldcount
    Cells(NoLigne, Nocolonne) = theDynaset.Fields(Nocolonne - 1).Value
    If (Nocolonne Mod 2) = 0 Then
    Cells(NoLigne, Nocolonne + 1).Interior.ColorIndex = 40
    End If
    Next Nocolonne
    If Nocolonne <> reccount Then
    theDynaset.DbMoveNext
    on continue à parcourir les lignes retournées par la requête
    End If
    Next NoLigne
    End If
    End Sub

  3. #3
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut
    Je te remercie beaucoup de tes précisions ... c'est très gentil de ta part ...

    Mais il me reste néanmoins une question :

    Es ce qu'il est possible d'exécuter ce code dans un module Access ??? Car en fait je dois réaliser ma liaison dans Access et je ne comprend pas très bien pk Excel est utilisé ... Il faut pardonner mes débuts dans Oracle qui ne sont pas très intelligent ...


    Merci des réponses que vous me donnez ... a tout bientôt

  4. #4
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    aucune idée, c'est au forum ACCESS qu'il faut t'adresser et je serais très surpris que tu n'y trouves pas déjà la réponse (la recherche est ton amie )

    la spécificité d'Oracle n'est probablement que dans l'ouverture de session, pour le reste c'est du ACCESS pur et dur

    Bon courage

  5. #5
    Membre averti Avatar de snoopy69
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 737
    Points : 395
    Points
    395
    Par défaut
    Ben je te remercie beaucoup c'est très gentil de m'avoir répondu ...

    Je vais aller faire des petites recherches et je pense que je vais trouver ... mille mercis et à tout bientôt ...

    ++

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

Discussions similaires

  1. [Première installation] Problème de connexion
    Par sekiryou dans le forum Installation
    Réponses: 2
    Dernier message: 02/03/2004, 20h18
  2. [ Oracle 9ias / 10g] problème de connexion
    Par Boosters dans le forum JDeveloper
    Réponses: 2
    Dernier message: 20/01/2004, 18h23
  3. Problème de connexion au serveur MYSQL
    Par ETOKA dans le forum Outils
    Réponses: 2
    Dernier message: 27/11/2003, 10h28
  4. Réponses: 11
    Dernier message: 13/10/2003, 15h48
  5. problème de connexion 2 PC
    Par guitalca dans le forum Développement
    Réponses: 3
    Dernier message: 22/09/2003, 15h04

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