bonjour
je ne parviens pas a changer le sql de mon rapport en dynamique en 
fonction de la valeur courante d'une liste
ma variable SQL ets bien mise a jour mais le rapport n'en tient pas compte
merci
Herve



Sub changerSql(oEvent)
Dim lesSqls As Object
Dim lesRapports As Object
Dim lesForms As Object
Dim stdOpenArgs(1) as new com.sun.star.beans.PropertyValue
Dim SQL as String
Dim leResponsable as String

init()

lesSqls = maSource.QueryDefinitions.getByName("Liste des applicatifs")
lesForms = oEvent.Source.Model.Parent.getByName("responsable1")
leResponsable = lesForms.getCurrentValue()

SQL = "SELECT ""Applicatifs"".""RESP_ID"", 
""CatégoriesLogicielles"".""CAT_LIB"", ""Applicatifs"".""APPLI_NOM"", 
""Applicatifs"".""APPLI_ID"", ""Applicatifs"".""APPLI_DESC"", 
""Responsables_Applicatifs"".""RESP_NOM"" FROM ""Applicatifs"" AS 
""Applicatifs"", ""Responsables_Applicatifs"" AS 
""Responsables_Applicatifs"", ""CatégoriesLogicielles"" AS 
""CatégoriesLogicielles"" WHERE ""Applicatifs"".""RESP_ID"" = 
""Responsables_Applicatifs"".""RESP_ID"" AND 
""Applicatifs"".""APPLI_CAT_ID"" = ""CatégoriesLogicielles"".""CAT_ID"" 
AND ""Responsables_Applicatifs"".""RESP_NOM"" LIKE """ & leResponsable & 
""""

lesSqls.setPropertyValue("Command", SQL)
lesRapports = 
oEvent.Source.Model.Parent.Parent.Parent.Parent.ReportDocuments 
'.getByName("Recensement  applicatif")
Xray lesRapports

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

lesRapports.loadComponentFromURL(nomReport,"_blank", 0, stdOpenArgs())

flagOpen=true

End Sub

rem **************************************************************
rem init connexion
rem **************************************************************
Sub Init
Dim monDbContext As Object
Dim OdbOpt(0) as new com.sun.star.beans.PropertyValue
Dim adrOdb As String

If flagOpen=true Then 
        fermerFormulaire 
End If
monDbContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
maSource = monDbContext.getByName(nomSource)
dbDoc = maSource.DatabaseDocument
adrOdb = dbDoc.URL
OdbOpt(0).Name = "Hidden"
OdbOpt(0).Value = True
dbDoc = StarDesktop.loadComponentFromURL(adrOdb, "_blank", 0, OdbOpt())
maConnexion = dbDoc.Datasource.getConnection("","")
End Sub

Répondre à