

![]() | Start a set with this search |
![]() | Include this search in one of my sets |
![]() | Exclude this search from one of my sets |
![]() | Permalink to these results Paste this link in email or IM: |
| Atom feed for tracking future search results Paste this URL into your reader: |
4 messages in org.openoffice.fr.progRe: [prog] Fermer connexion Obase| From | Sent On | Attachments |
|---|---|---|
| Arnaud POUSSIER | Jan 9, 2007 2:15 am | |
| JMD Jean-Marc Delmas | Jan 9, 2007 5:12 am | |
| Arnaud POUSSIER | Jan 9, 2007 8:40 am | |
| Vincent MAILLE | Jan 9, 2007 10:38 am |

![]() | Permalink for this message Paste this link in email or IM: |
![]() | Permalink for this thread Paste this link in email or IM: |
| Atom feed for this thread Paste this URL into your reader: |
| Subject: | Re: [prog] Fermer connexion Obase | Actions... |
|---|---|---|
| From: | JMD Jean-Marc Delmas (jean...@centraliens.net) | |
| Date: | Jan 9, 2007 5:12:36 am | |
| List: | org.openoffice.fr.prog | |
arna...@douane.finances.gouv.fr a écrit :
Bonjour,
J'ai lu avec attention le fil de discussion concernant " fichier .lck aprés
fermeture de Obase", car j'ai un soucis identique (que j'avais déjà exposé mais
qui je crois nécéssite un nouveau fil de discusson pour une meilleure
compréhension)
J'ai utilisé la macro suivante pour ouvrir un formulaire depuis un autre (merci
à Christine Brou):
Sub OuvrirFormA() dim optFichier(2) as new com.sun.star.beans.PropertyValue
monDoc = thisComponent lesForm = monDoc.Parent.FormDocuments monForm = lesForm.getByName("FORM_A") 'formulaire à ouvrir
optFichier(0).Name = "ActiveConnection" optFichier(0).Value = monDoc.Parent.DataSource.getConnection("","") optFichier(1).Name = "OpenMode" optFichier(1).Value = "open"
lesForm.loadComponentFromURL(monForm.Name, "", 0, optFichier()) monDoc = lesForm.loadComponentFromURL(monForm.Name, "", 0, optFichier()
call FullOn(monDoc) 'macro qui met le formulaire "form_A" ouvert en mode plein
écran
End Sub
donc la connexion est bien ouverte lorsque le formulaire "form_A" s'ouvre.
Mon probléme est que la connexion reste ouverte lorsque je ferme le formulaire
"form_A".
Comment puis-je donc fermer la connexion ? Cela doit-il intervenir dans la même
macro qui ouvre le formulaire (si oui la connexion serat toujours active )ou
lors de la fermeture de celui-ci ?
Merci d'avance
Arnaud POUSSIER Windows Xp Pro - OpenOffice V2.0.2
et meilleurs voeux à toute la liste
Une indication qui n'est peut-être pas inutile. Il n'est pas nécessaire d'établir une nouvelle connexion à la base quand on ouvre un autre formulaire à partir d'un formulaire principal. Pour ma part j'utilise la même connexion et je laisse le soin à open office de la terminer quand je quitte le formulaire principal. le code se présente ainsi :
oDocinit = ThisComponent 'Le document writer qui contient le formulaire principal DB_URL = oDocInit.Parent.URL 'l'URL de la base, d'où "parent" oDBForms = oDocInit.Parent.getFormDocuments 'Les documents writer internes où sont les formulaires oFormCont = oDBForms.getByName("Contacts") 'Celui du formulaire principal oPageInit = oDocInit.DrawPage 'La page où est le form principal oInitForm = oPageInit.Forms.getByName("MainForm") 'Le formulaire principal oConnect = oInitForm.ActiveConnection 'Son objet connexion Args(0).Name = "OpenMode" Args(0).Value = "open" Args(1).Name = "ActiveConnection" Args(1).Value = oConnect 'Sa réutilisation
sFormTit = "Adresses" 'Autre document à charger pour
'accéder à un autre formulaire
oDocTit = oDBForms.LoadComponentFromURL(sFormTit, "_blank", 0 , Args()) 'Le document est chargé avec partage de la connexion
Plus besoin de fermer une connexion en sortant du formulaire secondaire puisqu'on l'utilise toujours dans le formulaire principal. De plus c'est la connexion établie à l'ouverture du document base. Elle se ferme proprement dès que l'on quitte le document ouvert dans OO.
Espérant avoir aidé
Jean-Marc







