Bonjour,
Je souhaite copier l'intégralité du contenu d'une requête se trouvant dans une base de données en "ods" sur une feuille calc A l'aide du livre de programmation openoffice.org (merci au passage pour les 660 pages d'informations et de formation ;-) ) et des différents how-to, j'ai réussi à écrire la macro qui suit. Cependant, je suis bloquée dans la dernière ligne droite. Je n'arrive pas à extraire les informations de la requête pour les copier sur la feuille calc, en position A1. La manipulation des base de données avec macro m'a paru un peu complexe et j'ai besoin d'aide.
Pouvez-vous me donner la solution pour que cela fonctionne ?
Merci d'avance
David


Sub ConnecterSource()
Dim NomSource As String, login As String, password As String
Dim maSource As Object, monDbContext As Object
Dim maConnexion as object

Rem Création du contexte
NomSource = "base de données - nouveau fichier élèves"
monDbContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
maSource=monDbContext.getByName(NomSource)

Rem Les paramètres de connexion
login = ""
password = ""
maConnexion = maSource.getConnection(login, password)
if IsNull(maConnexion) then
 MsgBox("Connexion impossible", 16)
 Stop
Else
 Msgbox("La source de données est activée")
end if

Rem copier la requete sur la feuille

Dim unRowSet As Object
Dim feuille as object
Dim cellule as object

feuille=thiscomponent.sheets.GetByName("Liste compagnie")
cellule=feuille.GetCellByPosition(0,0)

unRowSet = createUnoService("com.sun.star.sdb.RowSet")
With unRowSet
 .activeConnection = maConnexion
 .CommandType = com.sun.star.sdb.CommandType.QUERY
 .Command = "Requête_Renseignements_Eleves"
 .execute ' effectuer la requête enregistrée
 Do While .next

Rem copier-coller des renseignements
Dim dsp as object
Dim appel_requete as object
Dim contenu_requete as object

contenu_requete=unRowset.?????????
dsp=createUnoService("com.sun.star.frame.DispatchHelper")
dsp.executeDispatch(contenu_requete, ".uno:copy","",0,Array())

dsp.executeDispatch(cellule, ".uno:Paste","",0,Array())

 Loop
 .dispose ' détruire le RowSet
End With

Rem fermeture de la source de données
maConnexion.close
maConnexion.dispose
Msgbox("la source de données est fermée")
End Sub

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à