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: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: users-h...@fr.openoffice.org