76 lines
2.7 KiB
VB.net
76 lines
2.7 KiB
VB.net
Imports CrystalDecisions.CrystalReports.Engine
|
|
|
|
Public Class FrmViewReport
|
|
Public pCodeEtat As Integer
|
|
Public pParamRPT As String
|
|
|
|
' Paramètre de connexion à ODBC
|
|
Private ctDSN_AEM As String = "DSN=bd_aem;"
|
|
Private szSQL As String
|
|
Private rs As ADODB.Recordset
|
|
|
|
Private Sub FrmViewReport_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
|
|
|
|
Dim szCheminRPT As String = ""
|
|
Dim szNomRPT As String = ""
|
|
Dim szCriteresRPT As String = ""
|
|
|
|
' lire les infos de l'état
|
|
szSQL = "SELECT * FROM P_ETATS WHERE code=" & pCodeEtat
|
|
GetRecordset(ctDSN_AEM, szSQL, rs)
|
|
If rs.RecordCount < 1 Then
|
|
MsgBox("Etat " & pCodeEtat & " : non trouvé dans la table P_ETATS!", MsgBoxStyle.Critical)
|
|
Exit Sub
|
|
End If
|
|
|
|
' afficher le nom du RPT sur la barre en-tête
|
|
Me.Text = rs.Fields("libelle").Value & " (" & szCheminRPT & ")"
|
|
szNomRPT = rs.Fields("nom_rpt").Value
|
|
szCheminRPT = "C:\RPTViewer\ETATS\" & rs.Fields("nom_rpt").Value
|
|
szCriteresRPT = FormaterSelection(nv(rs.Fields("criteres").Value))
|
|
rs.Close()
|
|
|
|
Dim rpt As New ReportDocument
|
|
Try
|
|
rpt.Load(szCheminRPT)
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message & " : " & vbCrLf & szCheminRPT, vbCritical)
|
|
Exit Sub
|
|
End Try
|
|
' définit la sélection
|
|
If szCriteresRPT.Length > 0 Then
|
|
rpt.RecordSelectionFormula = szCriteresRPT
|
|
End If
|
|
' definit le(s) paramètre(s) éventuel(s)
|
|
If pParamRPT.Length > 0 Then
|
|
rpt.SetParameterValue(0, pParamRPT)
|
|
End If
|
|
' Editer
|
|
CrystalReportViewer1.ReportSource = rpt
|
|
|
|
End Sub
|
|
|
|
Private Function FormaterSelection(szSelection As String) As String
|
|
|
|
If szSelection.Length > 0 Then
|
|
szSQL = Replace(szSelection, "gDate_debut", Format(gDate_debut, "yyyy/MM/dd"))
|
|
szSQL = Replace(szSQL, "gDate_fin", Format(gDate_fin, "yyyy/MM/dd"))
|
|
'szSQL = Replace(szSQL, "gUserAgence", gUserAgence)
|
|
'szSQL = Replace(szSQL, "gUserCode", gUserCode)
|
|
'szSQL = Replace(szSQL, "gCD_CLI", gCD_CLI)
|
|
'szSQL = Replace(szSQL, "gMoniteur1", gMoniteur1)
|
|
'szSQL = Replace(szSQL, "gMoniteur2", gMoniteur2)
|
|
'szSQL = Replace(szSQL, "gNumero", gNumero)
|
|
'szSQL = Replace(szSQL, "gTypePlanning", gTypePlanning)
|
|
'szSQL = Replace(szSQL, "gSemaine", gSemaine)
|
|
'szSQL = Replace(szSQL, "gGroupe", gGroupe)
|
|
Else
|
|
szSQL = ""
|
|
End If
|
|
FormaterSelection = szSQL
|
|
|
|
End Function
|
|
|
|
|
|
|
|
End Class |