OpenOffice

Signaler
Messages postés
3
Date d'inscription
jeudi 21 décembre 2006
Statut
Membre
Dernière intervention
16 octobre 2007
-
Messages postés
402
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
12 octobre 2008
-
Comment fait on pour se connecter sur une base de données openoffice?

4 réponses

Messages postés
918
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
27 octobre 2008
10
Première chose à faire :
Lire le règlement des forums sur lesquels tu postes !!
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
Bonjour tout le monde ...
Va voir ?
_______________________________________________________________________
VB.NETis good ...VB6is better <f></f>
Messages postés
402
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
12 octobre 2008
28
bonjour

Un exemple pour effectuer une requête dans la base de données "Bibliography" (Base démo fournie dans le pack d'installation Open Office). C'est un exemple VBA Excel qui pilote OOo mais tu pourras facilement l'adapter en VB

Sub requeteBase_ODB()
Dim oDB AsObject, oBase AsObjectDim oStatement AsObjectDim rSQL AsStringDim oRequete AsObjectDim oServiceManager AsObject, CreateUnoService AsObjectDim i AsInteger'Création instance Open officeSet oServiceManager = CreateObject("com.sun.star.ServiceManager")
Set CreateUnoService = _
oServiceManager.createInstance("com.sun.star.sdb.DatabaseContext")

'Indique le nom de la baseSet oDB = CreateUnoService.getByName("Bibliography")

'ConnectionSet oBase = oDB.getConnection("", "")
Set oStatement = oBase.createStatement

'Création requète
rSQL = "SELECT ""Identifier"",""Publisher"",""ISBN"" FROM ""biblio"" " & _
"WHERE ""Author""='Böhm, Franz'"Set oRequete = oStatement.ExecuteQuery(rSQL)

'Affichage du résultat de la requête dans les cellules ExcelIfNot IsNull(oRequete) ThenWhile oRequete.Next
i = i + 1
Cells(i, 1) = oRequete.getString(1)
Cells(i, 2) = oRequete.getString(2)
Cells(i, 3) = oRequete.getString(3)
WendEndIf

oRequete.Close
oStatement.CloseEndSub

michel
Messages postés
402
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
12 octobre 2008
28
bon ça m'a fait un truc bizaarre dans le message précédent...
je recommence:

Sub requeteBase_ODB()
    Dim oDB As Object, oBase As Object
    Dim oStatement As Object
    Dim rSQL As String
    Dim oRequete As Object
    Dim oServiceManager As Object, CreateUnoService As Object
    Dim i As Integer
   
    'Création instance Open office
    Set oServiceManager = CreateObject("com.sun.star.ServiceManager")
    Set CreateUnoService = _
    oServiceManager.createInstance("com.sun.star.sdb.DatabaseContext")
   
    'Indique le nom de la base
    Set oDB = CreateUnoService.getByName("Bibliography")
   
    'Connection
    Set oBase = oDB.getConnection("", "")
    Set oStatement = oBase.createStatement
   
    'Création requète
    rSQL = "SELECT ""Identifier"",""Publisher"",""ISBN"" FROM ""biblio"" " & _
    "WHERE ""Author""='Böhm, Franz'"
    Set oRequete = oStatement.ExecuteQuery(rSQL)
   
        'Affichage du résultat de la requête dans les cellules Excel
        If Not IsNull(oRequete) Then
            While oRequete.Next
                i = i + 1
                Cells(i, 1) = oRequete.getString(1)
                Cells(i, 2) = oRequete.getString(2)
                Cells(i, 3) = oRequete.getString(3)
            Wend
        End If
   
    oRequete.Close
    oStatement.Close
End Sub

michel