ouverture formulaire

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
florent9469
Membre OOrganisé
Membre OOrganisé
Messages : 62
Inscription : 23 avr. 2006 17:17

ouverture formulaire

Message par florent9469 »

Bonjour, j ai un probleme avec le code qui suit :
j ouvre sans probleme un formulaire 'clients' mais i ouvre systematiquement la base clients.odb
Comment ne pas ouvrir cette base systematiquemet?
merci pour votre aide

Sub openBaseForm
Dim pProp(1) As New com.sun.star.beans.PropertyValue
sURL = ConvertToURL("C:\clients1.odb")
oDoc = starDesktop.loadComponentFromURL(sURL,"_blank",0,Array())
oForms = oDoc.getFormDocuments()
oAConnection = oDoc.DataSource.getConnection("","")
'set properties
pProp(0).Name = "ActiveConnection"
pProp(0).Value = oAConnection
pProp(1).Name = "OpenMode"
pProp(1).Value = "open"
oFormulario = oForms.loadComponentFromURL("clients","_blank",0,pProp())
End Sub
OOo 3.2 sous WinXP
Avatar de l’utilisateur
chater
Membre cOOnfirmé
Membre cOOnfirmé
Messages : 237
Inscription : 21 févr. 2006 13:43
Localisation : Paname

Message par chater »

Salut,

Enregistre ton formulaire hors de la base.
OOo 3.1 officielle sous Ubuntu 9.04

Pensez à aider les autres en répondant à leurs questions.
florent9469
Membre OOrganisé
Membre OOrganisé
Messages : 62
Inscription : 23 avr. 2006 17:17

RE OUVERTURE

Message par florent9469 »

non, je veux travailler avec un formulaire interne
OOo 3.2 sous WinXP
Pierre-Yves Samyn
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 11276
Inscription : 02 mai 2006 08:42

Message par Pierre-Yves Samyn »

Bonjour

Si tu ne veux pas charger la base, je ne vois que la solution de chater. Si tu ne veux pas que la base se voit, as-tu essayé :

Code : Tout sélectionner

Sub openBaseForm
Dim pys(0) As New com.sun.star.beans.PropertyValue
pys(0).Name = "Hidden"
pys(0).Value = true

Dim pProp(1) As New com.sun.star.beans.PropertyValue
sURL = ConvertToURL("C:\clients1.odb")
oDoc = starDesktop.loadComponentFromURL(sURL,"_blank",0,pys())
oForms = oDoc.getFormDocuments()
oAConnection = oDoc.DataSource.getConnection("","")
'set properties
pProp(0).Name = "ActiveConnection"
pProp(0).Value = oAConnection
pProp(1).Name = "OpenMode"
pProp(1).Value = "open"
oFormulario = oForms.loadComponentFromURL("TClients","_blank",0,pProp())
End Sub
Avatar de l’utilisateur
cris59
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 482
Inscription : 20 mars 2006 15:15
Localisation : Paris

Message par cris59 »

Code : Tout sélectionner

sub appel_form()
dim optFichier(2) as new com.sun.star.beans.PropertyValue

maConnexion = ConnecterSource

lesForm = maConnexion.Parent.DataBaseDocument.FormDocuments
monForm = lesForm.getByName("NomFormulaire")

optFichier(0).Name = "ActiveConnection"
optFichier(0).Value = maConnexion
optFichier(1).Name = "OpenMode"
optFichier(1).Value = "open"

nouvForm = lesForm.loadComponentFromURL(monForm.Name, "", 0, optFichier())

end sub



Function ConnecterSource()
Dim NomSource As String, login As String, password As String
Dim maSource As Object, monDbContext As Object
'Création du contexte
NomSource = "NomSource"
monDbContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
maSource = monDbContext.getByName(NomSource)

'Les paramètres de connexion
login = ""
password = ""
maConnexion = maSource.getConnection(login, password)

if IsNull(maConnexion) then
  MsgBox("Connexion impossible", 16)
  Stop
end if
ConnecterSource = maConnexion
End Function

comme ceci tu ouvre ton formulaire sans ouvrir la base


cris59
WinXP PRO SP2 avec OOo2.2 & Vista avec OOo2.3.1
& Debian avec OOo2.2