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]