François,
J'ai essayé avec le bout de code que tu m'as donné : la macro s'exécute
mais aucun résultat ne s'affiche , que faut-il ajouter pour cela ? une
MsgBox ? la commande Dispatch ne devrai-elle pas le faire ? sachant que
la requête est R_Ouvrage_le_plus_cher
Le code :
sub onClickButton( oEvent as object )
'"Query1" = R_Ouvrage_le_plus_cher
openQueryDataView( "Query1",
oEvent.Source.Model.Parent.ActiveConnection )
end sub
sub OpenQueryDataView( aQueryName as string, aConnection as variant )
dim oDesktop, oDispatchObject
dim aURL as New com.sun.star.util.URL
dim aProps(5) as New com.sun.star.beans.PropertyValue
oDesktop = createUnoService("com.sun.star.frame.Desktop")
aURL.Complete = ".component:DB/DataSourceBrowser"
oDispatchObject = oDesktop.queryDispatch(_
aURL, _
"_Blank",_
com.sun.star.frame.FrameSearchFlag.CREATE)
aProps(0).Name = "ActiveConnection"
aProps(0).Value = aConnection
aProps(1).Name = "CommandType"
aProps(1).Value = com.sun.star.sdb.CommandType.QUERY
aProps(2).Name = "Command"
aProps(2).Value = aQueryName
aProps(3).Name = "ShowMenu"
aProps(3).Value = TRUE
aProps(4).Name = "ShowTreeView"
aProps(4).Value = FALSE
aProps(5).Name = "ShowTreeViewButton"
aProps(5).Value = FALSE
oDispatchObject.dispatch(aURL, aProps)
end sub
excuse la question d'un béotien en la matière ...
Claude
Le 09/08/2010 19:07, François Gatto a écrit :
Bonsoir Claude
Le 09/08/2010 09:35, Fricard Claude a écrit :
Bonjour,
j'avais demandé il y a quelque temps, s' il était concevable d'avoir une
macro qui ouvre une Requête plutôt qu'un formulaire. Cette question
n'avait pas eu d'écho , je veux bien croire que l'activité sur le forum
en cette période est réduite et aussi peut-être que ma question est un
peu saugrenue....
Oui la période est propice à la calmitude :D
Si j'ai bien compris l'expression de ton besoin, il s'agit de pouvoir
ouvrir directement une requête sans passer par l'appel d'un formulaire.
Si tel est le cas, voici un bout de code (que tu aurais pu trouver sur
le Net) :
sub onClickButton( oEvent as object )
'"Query1" = le nom de la requête
openQueryDataView( "Query1",
oEvent.Source.Model.Parent.ActiveConnection )
end sub
sub OpenQueryDataView( aQueryName as string, aConnection as variant )
dim oDesktop, oDispatchObject
dim aURL as New com.sun.star.util.URL
dim aProps(5) as New com.sun.star.beans.PropertyValue
oDesktop = createUnoService("com.sun.star.frame.Desktop")
aURL.Complete = ".component:DB/DataSourceBrowser"
oDispatchObject = oDesktop.queryDispatch(_
aURL, _
"_Blank",_
com.sun.star.frame.FrameSearchFlag.CREATE)
aProps(0).Name = "ActiveConnection"
aProps(0).Value = aConnection
aProps(1).Name = "CommandType"
aProps(1).Value = com.sun.star.sdb.CommandType.QUERY
aProps(2).Name = "Command"
aProps(2).Value = aQueryName
aProps(3).Name = "ShowMenu"
aProps(3).Value = TRUE
aProps(4).Name = "ShowTreeView"
aProps(4).Value = FALSE
aProps(5).Name = "ShowTreeViewButton"
aProps(5).Value = FALSE
oDispatchObject.dispatch(aURL, aProps)
end sub
Dans le code OOo.org Basic je ne vois pas de commande d'équivalence à la
fonction : Function OpenForm
En effet ; la démarche est sensiblement différente.
Cette demande fait suite au constat que le switchboard s'il apporte un
début de réponse à un menu d'accueil, ne proposant pas de commande
Requêtes, il ne donne pas les moyens à un utilisateur lambda de profiter
pleinement d'une Base de données.
Quelqu'un aurait-il une réponse ?
Claude
Bonne continuation.
--
Francois Gatto
Ubuntu 10.04
OpenOffice.org 3.2.1
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]