OK jean-Michel et merci ça fonctionne, j'avais compris que
l'assignation: Query1 = Nom de la requête dispensait de répéter ce nom
dans les paramètres de OpenQueryDataView.
A+
Claude
Le 10/08/2010 14:31, Jean Michel PIERRE a écrit :
Claude FRICARD a écrit :
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
Si tu suis le code que tu as reçu, tu devrais avoir
"R_Ouvrage_le_plus_cher " à la place de "Query1" ici :
sub onClickButton( oEvent as object )
'"Query1" = R_Ouvrage_le_plus_cher
openQueryDataView( "R_Ouvrage_le_plus_cher",
oEvent.Source.Model.Parent.ActiveConnection )
end sub
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
--
FRICARD Claude& Danielle
117 rue de Paris
78550 HOUDAN
01 30 59 66 27