Bonjour,
savez vous comment se connecter à une base Open office.org 2 Base avec vb6 ou vb.net ?
merci d'avance
Bonjour,
savez vous comment se connecter à une base Open office.org 2 Base avec vb6 ou vb.net ?
merci d'avance
bonsoir
as tu essayé ce type de synthaxe ?
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 Sub requeteBase_ODB() 'MichelXld le 17.11.2005 ' Dim oDB As Object, oBase As Object Dim oStatement As Object Dim rSQL As String, Fichier As String Dim oRequete As Object Dim oServiceManager As Object, CreateUnoService As Object Fichier = "file:///C:/Documents and Settings/michel/maBase.odb" Set oServiceManager = CreateObject("com.sun.star.ServiceManager") Set CreateUnoService = oServiceManager.createInstance("com.sun.star.sdb.DatabaseContext") Set oDB = CreateUnoService.getByName(Fichier) Set oBase = oDB.getConnection("", "") Set oStatement = oBase.createStatement rSQL = "SELECT * FROM maTable" Set oRequete = oStatement.ExecuteQuery(rSQL) ' '...etc... ' End Sub
j'ai aussi vu ta question sur le OOoForum , mais je prefere te répondre ici ...;o)
bonne soiree
michel
salut, ça à l'air une tres bonne piste merci!
j'ai essayé sous vb6 et j'ai cette erreur :
com.sun.star.sdbc.SQLException: No storage property was set.
sur la ligne
une idée ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Set oBase = oDB.getConnection("", "")
sinon sur le forum OOo c'est un autre problème : à partir de Calc et en travaillant sur une Base OOo2 je n'arrive pas à exécuter de requêtes. Il ne reconnait pas les noms des tables. mais lorsque je fais F4 je vois pourtant ma table (Je n'ai qu'une seule table pour le moment).
bonjour
la synthaxe complete est
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set oBase = oDB.getConnection("nomUtilisateur", "motDepasse")
en ce qui concerne les noms de Tables depuis Calc , si cela peut te rassurer , j'ai le meme probleme depuis que j'a changé de version . j'ai essayé tous les cas de figure mais le nom de table n'est toujours pas reconnu...;o(
par conséquence pour le pilotage depuis VB , tu risques aussi d'etre bloqué sur la partie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 rSQL = "SELECT * FROM maTable" Set oRequete = oStatement.ExecuteQuery(rSQL)
si je trouve quelque chose je te passe l'info ( j'ai vu que la meme question a été posée sur la mailing liste française hier soir )
bonne journée
michel
ma base ne contient pas de mot de passe ni d'utilisateur...
C'est bizare, est ce que ça fais pareil à tout le monde ?en ce qui concerne les noms de Tables depuis Calc , si cela peut te rassurer , j'ai le meme probleme depuis que j'a changé de version . j'ai essayé tous les cas de figure mais le nom de table n'est toujours pas reconnu...;o(
Personne n'utilise de base de données openoffice avec calc alors ?
Ou alors as-tu des sources qui marchent et que tu pourrais partager ?
bonsoir
apres quelques essais il semblerait que c'est notre méhode de création des bases qui est erronée ou incompléte
en effet je viens de faire un essai en utilisant la base démo fournie par OOo , nommée "Biblio"
si je fais cet essai depuis Calc ( OOo 2.0.1) , cela fonctionne parfaitement
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 Sub Main dim oDBContext as object dim oDB as object, oBase as object dim oStatement As object oDBContext = CreateUnoService("com.sun.star.sdb.DatabaseContext") oDB=oDBContext.getbyName("Bibliography") oBase=oDB.getConnection("","") oStatement = oBase.createStatement() rSQL = "SELECT Identifier FROM biblio WHERE Author='Böhm, Franz'" oRequete = oStatement.executeQuery( rSQL ) If Not IsNull(oRequete) Then While oRequete.next MsgBox oRequete.getString(1) Wend End If oRequete.Close oStatement.Close End Sub
ce qui donne en VBA Excel ( exemple que tu pourras facilement adapter en VB6)
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 Sub requeteBase_ODB_V02() 'MichelXld le 08.02.2006 ' 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 Set oServiceManager = CreateObject("com.sun.star.ServiceManager") Set CreateUnoService = oServiceManager.createInstance("com.sun.star.sdb.DatabaseContext") Set oDB = CreateUnoService.getByName("Bibliography") Set oBase = oDB.getConnection("", "") Set oStatement = oBase.createStatement rSQL = "SELECT Identifier FROM biblio WHERE Author='Böhm, Franz'" Set oRequete = oStatement.ExecuteQuery(rSQL) If Not IsNull(oRequete) Then While oRequete.Next i = i + 1 Cells(i, 1) = oRequete.getString(1) Wend End If oRequete.Close oStatement.Close End Sub
...maintenant reste à trouver comment faire reconnaitre nos propres bases .odb ...;o)
bonne soiree
michel
il n'existe aucune source de Calc tournant avec une base OOo sur le net ?
J'ai beau googler ..
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager