Imports System.Data.SqlClient Imports System.Data.SqlTypes Public Class frmReportSelection Inherits System.Windows.Forms.Form #Region "Declerations" Private m_sTableName As String Private m_iReportgruppeNr As Integer Private m_iReportNr As Integer Private m_iParameterSetNameID As Integer #End Region #Region "Property" Property ReportgruppeNr() Get Return m_iReportgruppeNr End Get Set(ByVal Value) m_iReportgruppeNr = Value End Set End Property Property ReportNr() Get Return m_iReportNr End Get Set(ByVal Value) m_iReportNr = Value End Set End Property Property TableName() As String Get Return m_sTableName End Get Set(ByVal Value As String) m_sTableName = Value End Set End Property Property ParameterSetNameID() As Integer Get Return m_iParameterSetNameID End Get Set(ByVal Value As Integer) m_iParameterSetNameID = Value End Set End Property #End Region #Region " Vom Windows Form Designer generierter Code " Public Sub New() MyBase.New() ' Dieser Aufruf ist für den Windows Form-Designer erforderlich. InitializeComponent() ' Initialisierungen nach dem Aufruf InitializeComponent() hinzufügen End Sub ' Die Form überschreibt den Löschvorgang der Basisklasse, um Komponenten zu bereinigen. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub ' Für Windows Form-Designer erforderlich Private components As System.ComponentModel.IContainer 'HINWEIS: Die folgende Prozedur ist für den Windows Form-Designer erforderlich 'Sie kann mit dem Windows Form-Designer modifiziert werden. 'Verwenden Sie nicht den Code-Editor zur Bearbeitung. Friend WithEvents SqlSelectCommand1 As System.Data.SqlClient.SqlCommand Friend WithEvents DataSet1 As System.Data.DataSet Friend WithEvents ToolBar1 As System.Windows.Forms.ToolBar Friend WithEvents ToolBtnExit As System.Windows.Forms.ToolBarButton Friend WithEvents ToolBtnSave As System.Windows.Forms.ToolBarButton Friend WithEvents ImageList1 As System.Windows.Forms.ImageList Friend WithEvents MainMenu1 As System.Windows.Forms.MainMenu Friend WithEvents MenuItem1 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem2 As System.Windows.Forms.MenuItem Friend WithEvents MenuItem3 As System.Windows.Forms.MenuItem Friend WithEvents Panel1 As System.Windows.Forms.Panel Friend WithEvents Panel2 As System.Windows.Forms.Panel Friend WithEvents gbxReportgruppen As System.Windows.Forms.GroupBox Friend WithEvents grdReportgruppen As C1.Win.C1TrueDBGrid.C1TrueDBGrid Friend WithEvents Splitter1 As System.Windows.Forms.Splitter Friend WithEvents Splitter2 As System.Windows.Forms.Splitter Friend WithEvents grxParameter As System.Windows.Forms.GroupBox Friend WithEvents Panel3 As System.Windows.Forms.Panel Friend WithEvents Panel4 As System.Windows.Forms.Panel Friend WithEvents SqlSelectCommand2 As System.Data.SqlClient.SqlCommand Friend WithEvents dsReport As System.Data.DataSet Friend WithEvents dsParameter As System.Data.DataSet Friend WithEvents grdParameter As C1.Win.C1TrueDBGrid.C1TrueDBGrid Friend WithEvents ToolBtnPreview As System.Windows.Forms.ToolBarButton Friend WithEvents ToolBtnOpenParSet As System.Windows.Forms.ToolBarButton Friend WithEvents ToolBtnClearParameter As System.Windows.Forms.ToolBarButton Friend WithEvents ToolBarButton1 As System.Windows.Forms.ToolBarButton Friend WithEvents gbxReport As System.Windows.Forms.GroupBox Friend WithEvents grdReport As C1.Win.C1TrueDBGrid.C1TrueDBGrid Friend WithEvents daParameter As System.Data.SqlClient.SqlDataAdapter Friend WithEvents SqlSelectCommand5 As System.Data.SqlClient.SqlCommand Friend WithEvents SqlInsertCommand2 As System.Data.SqlClient.SqlCommand Friend WithEvents SqlUpdateCommand2 As System.Data.SqlClient.SqlCommand Friend WithEvents SqlDeleteCommand2 As System.Data.SqlClient.SqlCommand Friend WithEvents SqlConnection1 As System.Data.SqlClient.SqlConnection Friend WithEvents SqlDataAdapter1 As System.Data.SqlClient.SqlDataAdapter Friend WithEvents daReport As System.Data.SqlClient.SqlDataAdapter Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(frmReportSelection)) Me.SqlDataAdapter1 = New System.Data.SqlClient.SqlDataAdapter() Me.SqlSelectCommand1 = New System.Data.SqlClient.SqlCommand() Me.DataSet1 = New System.Data.DataSet() Me.ToolBar1 = New System.Windows.Forms.ToolBar() Me.ToolBtnExit = New System.Windows.Forms.ToolBarButton() Me.ToolBtnOpenParSet = New System.Windows.Forms.ToolBarButton() Me.ToolBtnSave = New System.Windows.Forms.ToolBarButton() Me.ToolBtnClearParameter = New System.Windows.Forms.ToolBarButton() Me.ToolBarButton1 = New System.Windows.Forms.ToolBarButton() Me.ToolBtnPreview = New System.Windows.Forms.ToolBarButton() Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components) Me.MainMenu1 = New System.Windows.Forms.MainMenu() Me.MenuItem1 = New System.Windows.Forms.MenuItem() Me.MenuItem2 = New System.Windows.Forms.MenuItem() Me.MenuItem3 = New System.Windows.Forms.MenuItem() Me.grxParameter = New System.Windows.Forms.GroupBox() Me.Panel1 = New System.Windows.Forms.Panel() Me.Panel2 = New System.Windows.Forms.Panel() Me.gbxReport = New System.Windows.Forms.GroupBox() Me.Splitter1 = New System.Windows.Forms.Splitter() Me.gbxReportgruppen = New System.Windows.Forms.GroupBox() Me.Splitter2 = New System.Windows.Forms.Splitter() Me.Panel3 = New System.Windows.Forms.Panel() Me.Panel4 = New System.Windows.Forms.Panel() Me.daReport = New System.Data.SqlClient.SqlDataAdapter() Me.SqlSelectCommand2 = New System.Data.SqlClient.SqlCommand() Me.dsReport = New System.Data.DataSet() Me.dsParameter = New System.Data.DataSet() Me.daParameter = New System.Data.SqlClient.SqlDataAdapter() Me.SqlSelectCommand5 = New System.Data.SqlClient.SqlCommand() Me.SqlInsertCommand2 = New System.Data.SqlClient.SqlCommand() Me.SqlUpdateCommand2 = New System.Data.SqlClient.SqlCommand() Me.SqlDeleteCommand2 = New System.Data.SqlClient.SqlCommand() Me.SqlConnection1 = New System.Data.SqlClient.SqlConnection() CType(Me.DataSet1, System.ComponentModel.ISupportInitialize).BeginInit() Me.grxParameter.SuspendLayout() Me.Panel2.SuspendLayout() Me.gbxReport.SuspendLayout() Me.gbxReportgruppen.SuspendLayout() CType(Me.dsReport, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.dsParameter, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'SqlDataAdapter1 ' Me.SqlDataAdapter1.SelectCommand = Me.SqlSelectCommand1 Me.SqlDataAdapter1.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "pv_reportgruppe_select", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("reportgruppeNr", "reportgruppeNr"), New System.Data.Common.DataColumnMapping("bezeichnung", "bezeichnung"), New System.Data.Common.DataColumnMapping("beschreibung", "beschreibung"), New System.Data.Common.DataColumnMapping("aktiv", "aktiv"), New System.Data.Common.DataColumnMapping("mandantnr", "mandantnr"), New System.Data.Common.DataColumnMapping("mutiert_am", "mutiert_am"), New System.Data.Common.DataColumnMapping("erstellt_am", "erstellt_am"), New System.Data.Common.DataColumnMapping("mutierer", "mutierer")})}) ' 'SqlSelectCommand1 ' Me.SqlSelectCommand1.CommandText = "[sp_Mitarbeiter_Reportgruppen_select]" Me.SqlSelectCommand1.CommandType = System.Data.CommandType.StoredProcedure Me.SqlSelectCommand1.Connection = Me.SqlConnection1 Me.SqlSelectCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(10, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing)) Me.SqlSelectCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@mitarbeiterNr", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(10, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing)) ' 'DataSet1 ' Me.DataSet1.DataSetName = "NewDataSet" Me.DataSet1.Locale = New System.Globalization.CultureInfo("de-CH") ' 'ToolBar1 ' Me.ToolBar1.Buttons.AddRange(New System.Windows.Forms.ToolBarButton() {Me.ToolBtnExit, Me.ToolBtnOpenParSet, Me.ToolBtnSave, Me.ToolBtnClearParameter, Me.ToolBarButton1, Me.ToolBtnPreview}) Me.ToolBar1.DropDownArrows = True Me.ToolBar1.ImageList = Me.ImageList1 Me.ToolBar1.Name = "ToolBar1" Me.ToolBar1.ShowToolTips = True Me.ToolBar1.Size = New System.Drawing.Size(808, 25) Me.ToolBar1.TabIndex = 6 ' 'ToolBtnExit ' Me.ToolBtnExit.ImageIndex = 0 Me.ToolBtnExit.ToolTipText = "Beenden" ' 'ToolBtnOpenParSet ' Me.ToolBtnOpenParSet.ImageIndex = 5 Me.ToolBtnOpenParSet.ToolTipText = "Öffnet persönliche Parameterwerte" ' 'ToolBtnSave ' Me.ToolBtnSave.ImageIndex = 1 Me.ToolBtnSave.ToolTipText = "Speichern" ' 'ToolBtnClearParameter ' Me.ToolBtnClearParameter.ImageIndex = 6 Me.ToolBtnClearParameter.ToolTipText = "Löscht alle Parametereingaben" ' 'ToolBarButton1 ' Me.ToolBarButton1.Style = System.Windows.Forms.ToolBarButtonStyle.Separator ' 'ToolBtnPreview ' Me.ToolBtnPreview.ImageIndex = 4 Me.ToolBtnPreview.ToolTipText = "Report Vorschau" ' 'ImageList1 ' Me.ImageList1.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit Me.ImageList1.ImageSize = New System.Drawing.Size(16, 16) Me.ImageList1.ImageStream = CType(resources.GetObject("ImageList1.ImageStream"), System.Windows.Forms.ImageListStreamer) Me.ImageList1.TransparentColor = System.Drawing.Color.Transparent ' 'MainMenu1 ' Me.MainMenu1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MenuItem1}) Me.MainMenu1.RightToLeft = System.Windows.Forms.RightToLeft.No ' 'MenuItem1 ' Me.MenuItem1.Index = 0 Me.MenuItem1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MenuItem2, Me.MenuItem3}) Me.MenuItem1.MergeOrder = 1 Me.MenuItem1.MergeType = System.Windows.Forms.MenuMerge.Replace Me.MenuItem1.Text = "&Datei" ' 'MenuItem2 ' Me.MenuItem2.Index = 0 Me.MenuItem2.MergeOrder = 1 Me.MenuItem2.Shortcut = System.Windows.Forms.Shortcut.AltF4 Me.MenuItem2.Text = "&Schliessen" ' 'MenuItem3 ' Me.MenuItem3.Index = 1 Me.MenuItem3.Shortcut = System.Windows.Forms.Shortcut.CtrlF5 Me.MenuItem3.Text = "&Daten sichern" ' 'grxParameter ' Me.grxParameter.BackColor = System.Drawing.SystemColors.Control Me.grxParameter.Controls.AddRange(New System.Windows.Forms.Control() {Me.grdParameter}) Me.grxParameter.Dock = System.Windows.Forms.DockStyle.Fill Me.grxParameter.Location = New System.Drawing.Point(0, 201) Me.grxParameter.Name = "grxParameter" Me.grxParameter.Size = New System.Drawing.Size(808, 208) Me.grxParameter.TabIndex = 8 Me.grxParameter.TabStop = False Me.grxParameter.Text = "Parameter" ' 'Panel1 ' Me.Panel1.Dock = System.Windows.Forms.DockStyle.Top Me.Panel1.Location = New System.Drawing.Point(0, 25) Me.Panel1.Name = "Panel1" Me.Panel1.Size = New System.Drawing.Size(808, 8) Me.Panel1.TabIndex = 10 ' 'Panel2 ' Me.Panel2.Controls.AddRange(New System.Windows.Forms.Control() {Me.gbxReport, Me.Splitter1, Me.gbxReportgruppen}) Me.Panel2.Dock = System.Windows.Forms.DockStyle.Top Me.Panel2.Location = New System.Drawing.Point(0, 33) Me.Panel2.Name = "Panel2" Me.Panel2.Size = New System.Drawing.Size(808, 152) Me.Panel2.TabIndex = 11 ' 'gbxReport ' Me.gbxReport.Controls.AddRange(New System.Windows.Forms.Control() {Me.grdReport}) Me.gbxReport.Dock = System.Windows.Forms.DockStyle.Fill Me.gbxReport.Location = New System.Drawing.Point(344, 0) Me.gbxReport.Name = "gbxReport" Me.gbxReport.Size = New System.Drawing.Size(464, 152) Me.gbxReport.TabIndex = 14 Me.gbxReport.TabStop = False Me.gbxReport.Text = "Report" ' 'Splitter1 ' Me.Splitter1.BackColor = System.Drawing.SystemColors.Control Me.Splitter1.Location = New System.Drawing.Point(336, 0) Me.Splitter1.Name = "Splitter1" Me.Splitter1.Size = New System.Drawing.Size(8, 152) Me.Splitter1.TabIndex = 12 Me.Splitter1.TabStop = False ' 'gbxReportgruppen ' Me.gbxReportgruppen.Controls.AddRange(New System.Windows.Forms.Control() {Me.grdReportgruppen}) Me.gbxReportgruppen.Dock = System.Windows.Forms.DockStyle.Left Me.gbxReportgruppen.Name = "gbxReportgruppen" Me.gbxReportgruppen.Size = New System.Drawing.Size(336, 152) Me.gbxReportgruppen.TabIndex = 10 Me.gbxReportgruppen.TabStop = False Me.gbxReportgruppen.Text = "Reportgruppen" ' 'Splitter2 ' Me.Splitter2.Dock = System.Windows.Forms.DockStyle.Top Me.Splitter2.Location = New System.Drawing.Point(0, 185) Me.Splitter2.Name = "Splitter2" Me.Splitter2.Size = New System.Drawing.Size(808, 8) Me.Splitter2.TabIndex = 12 Me.Splitter2.TabStop = False ' 'Panel3 ' Me.Panel3.Dock = System.Windows.Forms.DockStyle.Bottom Me.Panel3.Location = New System.Drawing.Point(0, 409) Me.Panel3.Name = "Panel3" Me.Panel3.Size = New System.Drawing.Size(808, 8) Me.Panel3.TabIndex = 13 ' 'Panel4 ' Me.Panel4.Dock = System.Windows.Forms.DockStyle.Top Me.Panel4.Location = New System.Drawing.Point(0, 193) Me.Panel4.Name = "Panel4" Me.Panel4.Size = New System.Drawing.Size(808, 8) Me.Panel4.TabIndex = 14 ' 'daReport ' Me.daReport.SelectCommand = Me.SqlSelectCommand2 Me.daReport.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "reportgruppe_report", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("ReportgruppeReportNr", "ReportgruppeReportNr"), New System.Data.Common.DataColumnMapping("reportgruppeNr", "reportgruppeNr"), New System.Data.Common.DataColumnMapping("reportNr", "reportNr"), New System.Data.Common.DataColumnMapping("aktiv", "aktiv"), New System.Data.Common.DataColumnMapping("mandantnr", "mandantnr"), New System.Data.Common.DataColumnMapping("mutiert_am", "mutiert_am"), New System.Data.Common.DataColumnMapping("erstellt_am", "erstellt_am"), New System.Data.Common.DataColumnMapping("mutierer", "mutierer"), New System.Data.Common.DataColumnMapping("report", "report"), New System.Data.Common.DataColumnMapping("beschreibung", "beschreibung"), New System.Data.Common.DataColumnMapping("dateiname", "dateiname")})}) ' 'SqlSelectCommand2 ' Me.SqlSelectCommand2.CommandText = "[sp_ReportsForGroup_select]" Me.SqlSelectCommand2.CommandType = System.Data.CommandType.StoredProcedure Me.SqlSelectCommand2.Connection = Me.SqlConnection1 Me.SqlSelectCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing)) Me.SqlSelectCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ReportGruppenNr", System.Data.SqlDbType.Int, 4, "reportgruppeNr")) ' 'dsReport ' Me.dsReport.DataSetName = "NewDataSet" Me.dsReport.Locale = New System.Globalization.CultureInfo("de-CH") ' 'dsParameter ' Me.dsParameter.DataSetName = "NewDataSet" Me.dsParameter.Locale = New System.Globalization.CultureInfo("de-CH") ' 'daParameter ' Me.daParameter.DeleteCommand = Me.SqlDeleteCommand2 Me.daParameter.InsertCommand = Me.SqlInsertCommand2 Me.daParameter.SelectCommand = Me.SqlSelectCommand5 Me.daParameter.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "report_reportfeldregel", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("ReportReportfeldregelNr", "ReportReportfeldregelNr"), New System.Data.Common.DataColumnMapping("reportNr", "reportNr"), New System.Data.Common.DataColumnMapping("ReportFeldRegelNr", "ReportFeldRegelNr"), New System.Data.Common.DataColumnMapping("aktiv", "aktiv"), New System.Data.Common.DataColumnMapping("Reihenfolge", "Reihenfolge"), New System.Data.Common.DataColumnMapping("mandantnr", "mandantnr"), New System.Data.Common.DataColumnMapping("mutiert_am", "mutiert_am"), New System.Data.Common.DataColumnMapping("erstellt_am", "erstellt_am"), New System.Data.Common.DataColumnMapping("mutierer", "mutierer"), New System.Data.Common.DataColumnMapping("eingabe_zwingend", "eingabe_zwingend")})}) Me.daParameter.UpdateCommand = Me.SqlUpdateCommand2 ' 'SqlSelectCommand5 ' Me.SqlSelectCommand5.CommandText = "[sp_report_reportfeldregel_select]" Me.SqlSelectCommand5.CommandType = System.Data.CommandType.StoredProcedure Me.SqlSelectCommand5.Connection = Me.SqlConnection1 Me.SqlSelectCommand5.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing)) Me.SqlSelectCommand5.Parameters.Add(New System.Data.SqlClient.SqlParameter("@mandantnr", System.Data.SqlDbType.Int, 4, "mandantnr")) ' 'SqlInsertCommand2 ' Me.SqlInsertCommand2.CommandText = "[pv_report_reportfeldregel_insert]" Me.SqlInsertCommand2.CommandType = System.Data.CommandType.StoredProcedure Me.SqlInsertCommand2.Connection = Me.SqlConnection1 Me.SqlInsertCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing)) Me.SqlInsertCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ReportReportfeldregelNr", System.Data.SqlDbType.Int, 4, "ReportReportfeldregelNr")) Me.SqlInsertCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@reportNr", System.Data.SqlDbType.Int, 4, "reportNr")) Me.SqlInsertCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ReportFeldRegelNr", System.Data.SqlDbType.Int, 4, "ReportFeldRegelNr")) Me.SqlInsertCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@aktiv", System.Data.SqlDbType.Bit, 1, "aktiv")) Me.SqlInsertCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Reihenfolge", System.Data.SqlDbType.Int, 4, "Reihenfolge")) Me.SqlInsertCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@mandantnr", System.Data.SqlDbType.Int, 4, "mandantnr")) Me.SqlInsertCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@mutiert_am", System.Data.SqlDbType.DateTime, 8, "mutiert_am")) Me.SqlInsertCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@erstellt_am", System.Data.SqlDbType.DateTime, 8, "erstellt_am")) Me.SqlInsertCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@mutierer", System.Data.SqlDbType.Int, 4, "mutierer")) Me.SqlInsertCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@eingabe_zwingend", System.Data.SqlDbType.Bit, 1, "eingabe_zwingend")) ' 'SqlUpdateCommand2 ' Me.SqlUpdateCommand2.CommandText = "[pv_report_reportfeldregel_update]" Me.SqlUpdateCommand2.CommandType = System.Data.CommandType.StoredProcedure Me.SqlUpdateCommand2.Connection = Me.SqlConnection1 Me.SqlUpdateCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing)) Me.SqlUpdateCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ReportReportfeldregelNr", System.Data.SqlDbType.Int, 4, "ReportReportfeldregelNr")) Me.SqlUpdateCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@reportNr", System.Data.SqlDbType.Int, 4, "reportNr")) Me.SqlUpdateCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@ReportFeldRegelNr", System.Data.SqlDbType.Int, 4, "ReportFeldRegelNr")) Me.SqlUpdateCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@aktiv", System.Data.SqlDbType.Bit, 1, "aktiv")) Me.SqlUpdateCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Reihenfolge", System.Data.SqlDbType.Int, 4, "Reihenfolge")) Me.SqlUpdateCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Param1", System.Data.SqlDbType.Int, 4, "mandantnr")) Me.SqlUpdateCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@mutiert_am", System.Data.SqlDbType.DateTime, 8, "mutiert_am")) Me.SqlUpdateCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@erstellt_am", System.Data.SqlDbType.DateTime, 8, "erstellt_am")) Me.SqlUpdateCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@mutierer", System.Data.SqlDbType.Int, 4, "mutierer")) Me.SqlUpdateCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@eingabe_zwingend", System.Data.SqlDbType.Bit, 1, "eingabe_zwingend")) Me.SqlUpdateCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_ReportReportfeldregelNr", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "ReportReportfeldregelNr", System.Data.DataRowVersion.Original, Nothing)) Me.SqlUpdateCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_Reihenfolge", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "Reihenfolge", System.Data.DataRowVersion.Original, Nothing)) Me.SqlUpdateCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_ReportFeldRegelNr", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "ReportFeldRegelNr", System.Data.DataRowVersion.Original, Nothing)) Me.SqlUpdateCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_aktiv", System.Data.SqlDbType.Bit, 1, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "aktiv", System.Data.DataRowVersion.Original, Nothing)) Me.SqlUpdateCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_eingabe_zwingend", System.Data.SqlDbType.Bit, 1, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "eingabe_zwingend", System.Data.DataRowVersion.Original, Nothing)) Me.SqlUpdateCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_erstellt_am", System.Data.SqlDbType.DateTime, 8, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "erstellt_am", System.Data.DataRowVersion.Original, Nothing)) Me.SqlUpdateCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_mandantnr", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "mandantnr", System.Data.DataRowVersion.Original, Nothing)) Me.SqlUpdateCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_mutierer", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "mutierer", System.Data.DataRowVersion.Original, Nothing)) Me.SqlUpdateCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_mutiert_am", System.Data.SqlDbType.DateTime, 8, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "mutiert_am", System.Data.DataRowVersion.Original, Nothing)) Me.SqlUpdateCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_reportNr", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "reportNr", System.Data.DataRowVersion.Original, Nothing)) ' 'SqlDeleteCommand2 ' Me.SqlDeleteCommand2.CommandText = "[pv_report_reportfeldregel_delete]" Me.SqlDeleteCommand2.CommandType = System.Data.CommandType.StoredProcedure Me.SqlDeleteCommand2.Connection = Me.SqlConnection1 Me.SqlDeleteCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, False, CType(0, Byte), CType(0, Byte), "", System.Data.DataRowVersion.Current, Nothing)) Me.SqlDeleteCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_ReportReportfeldregelNr", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "ReportReportfeldregelNr", System.Data.DataRowVersion.Original, Nothing)) Me.SqlDeleteCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_Reihenfolge", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "Reihenfolge", System.Data.DataRowVersion.Original, Nothing)) Me.SqlDeleteCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_ReportFeldRegelNr", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "ReportFeldRegelNr", System.Data.DataRowVersion.Original, Nothing)) Me.SqlDeleteCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_aktiv", System.Data.SqlDbType.Bit, 1, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "aktiv", System.Data.DataRowVersion.Original, Nothing)) Me.SqlDeleteCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_eingabe_zwingend", System.Data.SqlDbType.Bit, 1, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "eingabe_zwingend", System.Data.DataRowVersion.Original, Nothing)) Me.SqlDeleteCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_erstellt_am", System.Data.SqlDbType.DateTime, 8, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "erstellt_am", System.Data.DataRowVersion.Original, Nothing)) Me.SqlDeleteCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_mandantnr", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "mandantnr", System.Data.DataRowVersion.Original, Nothing)) Me.SqlDeleteCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_mutierer", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "mutierer", System.Data.DataRowVersion.Original, Nothing)) Me.SqlDeleteCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_mutiert_am", System.Data.SqlDbType.DateTime, 8, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "mutiert_am", System.Data.DataRowVersion.Original, Nothing)) Me.SqlDeleteCommand2.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_reportNr", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "reportNr", System.Data.DataRowVersion.Original, Nothing)) ' 'SqlConnection1 ' Me.SqlConnection1.ConnectionString = "data source=localhost;initial catalog=edoka;password=it;persist security info=Tru" & _ "e;user id=sa;workstation id=TG602643;packet size=4096" ' 'frmReportSelection ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(808, 417) Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.grxParameter, Me.Panel4, Me.Panel3, Me.Splitter2, Me.Panel2, Me.Panel1, Me.ToolBar1}) Me.Menu = Me.MainMenu1 Me.Name = "frmReportSelection" Me.ShowInTaskbar = False Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen Me.Text = "frmReportSelection" CType(Me.DataSet1, System.ComponentModel.ISupportInitialize).EndInit() Me.grxParameter.ResumeLayout(False) Me.Panel2.ResumeLayout(False) Me.gbxReport.ResumeLayout(False) Me.gbxReportgruppen.ResumeLayout(False) CType(Me.dsReport, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.dsParameter, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) End Sub #End Region #Region "Formularfunktionen" Private Sub frmReportSelection_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Try Me.Cursor = Cursors.WaitCursor Me.grdReportgruppen.Dock = DockStyle.Fill Me.grdReport.Dock = DockStyle.Fill Me.grdParameter.Dock = DockStyle.Fill Me.SqlConnection1.ConnectionString = Globals.sConnectionString Me.SqlConnection1.Open() ' Nur für den aktuell gewählten Mandanten die Daten auslesen Me.SqlDataAdapter1.SelectCommand.Parameters.Clear() Me.SqlDataAdapter1.SelectCommand.Parameters.Add("@MitarbeiterNr", Globals.MitarbeiterNr) '============ Datenanbindung Reportgruppen SqlDataAdapter1.Fill(Me.DataSet1, "Mitarbeiter_ReportGruppe") Me.TableName = Me.DataSet1.Tables(0).TableName Me.grdReportgruppen.DataMember = Me.TableName Me.grdReportgruppen.DataSource = Me.DataSet1 Me.m_iReportgruppeNr = Me.grdReportgruppen.Columns("reportgruppeNr").Value SpaltenTitel_Aktualisieren(Me.DataSet1, Me.grdReportgruppen) '============ Datenanbindung Reportgruppen FillReport() 'Füllen der Reportliste anhand der reportgruppeNr Me.TableName = Me.dsReport.Tables(0).TableName Me.grdReport.DataMember = Me.TableName Me.grdReport.DataSource = Me.dsReport SpaltenTitel_Aktualisieren(Me.dsReport, Me.grdReport) '============ Datenanbindung Parameter FillParameter() 'Füllen der Reportliste anhand der reportgruppeNr Me.TableName = Me.dsParameter.Tables(0).TableName Me.grdParameter.DataMember = Me.TableName Me.grdParameter.DataSource = Me.dsParameter SpaltenTitel_Aktualisieren(Me.dsParameter, Me.grdParameter) Me.grdParameter.Splits(0).DisplayColumns("ParameterDisplayValue").Button = True Me.grdParameter.Splits(0).DisplayColumns("ParameterDisplayValue").FetchStyle = True Me.grdReport.Splits(0).DisplayColumns("beschreibung").Button = True Catch ex As Exception MsgBox(ex.Message) End Try Try Globals.WinPos.Get_Position(Me) Catch MsgBox("Fehler") Finally End Try Me.Cursor = Cursors.Default End Sub Private Sub frmReportSelection_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing Try Globals.WinPos.Set_Position(Me) Catch End Try End Sub Private Sub ToolBar1_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBar1.ButtonClick Select Case ToolBar1.Buttons.IndexOf(e.Button) Case 0 'close button Close() Case 2 'Speichern Dim f As New frmParameterSetName() 'f.MdiParent = Me.ParentForm f.DatenSpeichern = True f.Eintrag = "Parameterset spiechern" f.ReportNr = Me.grdReport.Columns("reportnr").Value f.ParameterSetNameID = Me.ParameterSetNameID f.DatenModus = f.Enum_DatenModus.Speichern Me.ParameterSetNameID = f.TransferKey f.ParameterDataset = Me.dsParameter f.ShowDialog() f.Dispose() Case 1 'laden Dim f As New frmParameterSetName() ' f.MdiParent = Me.ParentForm f.DatenSpeichern = False f.ReportNr = Me.grdReport.Columns("reportnr").Value f.Eintrag = "Parameterset laden" f.DatenModus = f.Enum_DatenModus.Laden f.ShowDialog() Me.grxParameter.Text = "Parameter " & f.ParameterSetName Me.ParameterSetNameID = f.TransferKey grxParameter.Text = "Parameter " & f.ParameterSetName f.Dispose() If Me.ParameterSetNameID > 0 Then loadParameterList() 'Laden der Parameter in die Tabelle End If Case 3 'ClearParameter ClearParameterFields() Case 5 'Preview Dim f As New frmReporting() Dim objReport As New edokaDB.clsReporting_Dokumenttyp() Dim ParameterCollection As New Collection() Dim Dokument_Temp As String If ValidateParameterfields() = True Then '======================================= 'Dokument Speichern '======================================= Dokument_Temp = CType(Globals.Applikationsdaten.Rows(Globals.AppldataRow).Item("pfad_temporaer_dokumente"), String) objReport.Get_DocumentFrom_DB("reportNr", grdReport.Columns("reportNr").Text, "report", "reportfile", Dokument_Temp, grdReport.Columns("dateiname").Value) objReport = Nothing ParameterCollection = FillParameterCollection() f.show_report(grdReport.Columns("dateiname").Text, ParameterCollection) ' f.MdiParent = Me.ParentForm f.Show() End If Case Else End Select End Sub Private Function FillParameterCollection() As Collection '=============================================================================== 'Desc : Abfüllern der Parametercollection 'Output : collection 'Erstellt : koe 10.11.2003 'Geaendert : '=============================================================================== Dim colParameter As New Microsoft.VisualBasic.Collection() 'Dim x As Microsoft.VisualBasic.Collection Dim iCnt As Integer Dim sParameterKey As String Dim sParameterValue As String Try For iCnt = 0 To grdParameter.Splits(0).Rows.Count - 1 sParameterKey = "@" & UCase(grdParameter.Columns("Parameter").CellText(iCnt)) sParameterValue = grdParameter.Columns("ParameterNavigationValue").CellText(iCnt) colParameter.Add(Item:=sParameterValue, Key:=sParameterKey) 'Debug.Write(colParameter(sParameterKey)) Next FillParameterCollection = colParameter Catch ex As Exception MsgBox(ex.Message) End Try End Function Private Sub loadParameterList() Dim scmCmdToExecute As SqlCommand = New SqlCommand() Dim i As Integer Dim dtToReturn As DataTable = New DataTable() Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) scmCmdToExecute.CommandText = "sp_ParameterSetListe_select" scmCmdToExecute.CommandType = CommandType.StoredProcedure scmCmdToExecute.Connection = conn.scoDBConnection scmCmdToExecute.Parameters.Clear() scmCmdToExecute.Parameters.Add(New SqlParameter("@ParameterSetNameID", SqlDbType.Int, 10, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.ParameterSetNameID)) sdaAdapter.Fill(dtToReturn) FillParameterRows(dtToReturn) End Sub Private Sub FillParameterRows(ByVal thisTable As DataTable) '=============================================================================== 'Desc : Abfüllen der Persönlichen Parameterwerte für den gewählten Report 'Input : Datatabel der Persönlichen Parameterwerte 'Output: 'Erstellt : koe 20.10.2003 'Geaendert : '=============================================================================== Dim RowParameter As DataRow Dim iReportReportfeldregelNr As Integer Dim RowParameterList As DataRow Dim sParameterwert As String For Each RowParameterList In thisTable.Rows iReportReportfeldregelNr = RowParameterList.Item("ReportReportfeldregelNr") For Each RowParameter In Me.dsParameter.Tables(0).Rows If RowParameter.Item("ReportReportfeldregelNr") = iReportReportfeldregelNr Then RowParameter.Item("datenherkunft") = RowParameterList.Item("datenherkunft") RowParameter.Item("ParameterDisplayValue") = RowParameterList.Item("ParameterDisplayValue") If PharseDatenherkunft(RowParameterList.Item("datenherkunft"), sParameterwert) = True Then 'Parameter verwendet dynamische Datum RowParameter.Item("ParameterNavigationValue") = sParameterwert Else RowParameter.Item("ParameterNavigationValue") = RowParameterList.Item("ParameterNavigationValue") End If Exit For End If Next Next RowParameterList End Sub Private Function PharseDatenherkunft(ByVal Datenherkunft As String, ByRef Parameterwert As String) As Boolean '=============================================================================== 'Desc : Ermitteln von dynamischen Datum im Datumbereich 'Input : 'Kriterium : 'Updatewert : 'Output : 'Erstellt : koe 10.11.2003 'Geaendert : '=============================================================================== Dim a_Datenherkunft() As String Dim StartDate As String Dim EndDate As String a_Datenherkunft = Split(Datenherkunft, ";") Select Case Microsoft.VisualBasic.Left(Datenherkunft, 2) Case "0;" 'Von_Bis PharseDatenherkunft = False Case "1;" 'Datum_Bis_Heute StartDate = a_Datenherkunft(1) EndDate = Format(Now(), "dd.MM.yyyy") PharseDatenherkunft = True Case "2;" 'Tage_Bis_Heute StartDate = Format(DateAdd(DateInterval.Day, -a_Datenherkunft(1), Now()), "dd.MM.yyyy") EndDate = Format(DateSerial(DatePart(DateInterval.Year, Now()), DatePart(DateInterval.Month, Now), getlastDayInMonth(Now())), "dd.MM.yyyy") PharseDatenherkunft = True Case "3;" 'Aktueller_Monat StartDate = Format(DateSerial(DatePart(DateInterval.Year, Now()), DatePart(DateInterval.Month, Now), 1), "dd.MM.yyyy") EndDate = Format(DateSerial(DatePart(DateInterval.Year, Now()), DatePart(DateInterval.Month, Now), getlastDayInMonth(Now())), "dd.MM.yyyy") Parameterwert = "BETWEEN " & StartDate & " AND " & EndDate PharseDatenherkunft = True Case "4;" 'Aktueller_MonatVon_Bis StartDate = Format(DateSerial(DatePart(DateInterval.Year, Now()), DatePart(DateInterval.Month, Now()), a_Datenherkunft(1)), "dd.MM.yyyy") If a_Datenherkunft(2) = "Letzter Tag" Then EndDate = Format(DateSerial(DatePart(DateInterval.Year, Now()), DatePart(DateInterval.Month, Now()), getlastDayInMonth(Now())), "dd.MM.yyyy") Else EndDate = Format(DateSerial(DatePart(DateInterval.Year, Now()), DatePart(DateInterval.Month, Now()), a_Datenherkunft(3)), "dd.MM.yyyy") End If Parameterwert = "BETWEEN " & StartDate & " AND " & EndDate PharseDatenherkunft = True Case Else StartDate = Format(Now(), "dd.MM.yyyy") EndDate = Format(Now(), "dd.MM.yyyy") PharseDatenherkunft = False End Select Parameterwert = "BETWEEN " & StartDate & " AND " & EndDate End Function Private Function getlastDayInMonth(ByVal Datum As Date) As Integer '=============================================================================== 'Desc : Ermittelt den letzten Tag des Monats 'Input : Datum 'Kriterium : 'Updatewert : 'Output : Letzter Tag des Monats 'Erstellt : koe 10.11.2003 'Geaendert : '=============================================================================== Dim iFirstDayNextMonat As Integer Dim iMonat As Integer Dim dDate As Date iMonat = DatePart(DateInterval.Month, Datum, FirstDayOfWeek.Monday) dDate = DateSerial(DatePart(DateInterval.Year, Datum, FirstDayOfWeek.Monday), iMonat + 1, 1) iFirstDayNextMonat = DatePart(DateInterval.Day, DateAdd(DateInterval.Day, -1, dDate), FirstDayOfWeek.Monday) getlastDayInMonth = iFirstDayNextMonat End Function Private Sub ClearParameterFields() '=============================================================================== 'Desc : Setzt alle Parameterwerte auf Null 'Input : Datatabel der Persönlichen Parameterwerte 'Output: 'Erstellt : koe 20.10.2003 'Geaendert : '=============================================================================== 'Me.dsParameter.Tables(0) Dim RowParameter As DataRow For Each RowParameter In Me.dsParameter.Tables(0).Rows RowParameter.Item("ParameterNavigationValue") = "" RowParameter.Item("ParameterDisplayValue") = "" Next RowParameter End Sub Private Sub MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem2.Click Close() End Sub Private Sub grdReportgruppen_RowColChange(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.RowColChangeEventArgs) Handles grdReportgruppen.RowColChange Me.m_iReportgruppeNr = Me.grdReportgruppen.Columns("reportgruppeNr").Value FillReport() 'Füllen der Reportliste anhand der reportgruppeNr End Sub #End Region #Region " Datenfunktionen " Private Function ValidateParameterfields() As Boolean '=============================================================================== 'Desc : Prüfene der Parameter auf Zwingende Felder und Formate 'Input : 'Output : 'Erstellt : koe 20.10.2003 'Geaendert : '=============================================================================== Dim lcnt As Long ValidateParameterfields = True For lcnt = 0 To grdParameter.Splits(0).Rows.Count - 1 'Validierung auf zwingend 'If Me.grdParameter.Columns("eingabe_zwingend").Value <> 0 Then If Me.grdParameter.Columns("eingabe_zwingend").CellText(lcnt) = True Then If Me.grdParameter.Columns("ParameterNavigationValue").CellText(lcnt) = "" Then MessageBox.Show("Der Parameterwert " & Me.grdParameter.Columns("Parameter").CellText(lcnt) & " verlangt eine Eingabe?", "Auswertung", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) ValidateParameterfields = False Exit For End If End If Next End Function Private Sub FillReport() '=============================================================================== 'Desc : Füllen des Grid Report Kriterium ist ReportgruppenNr ab Property 'Input : 'Output : 'Erstellt : koe 20.10.2003 'Geaendert : '=============================================================================== Me.daReport.SelectCommand.Parameters.Clear() Me.daReport.SelectCommand.Parameters.Add("@reportgruppeNr", Me.m_iReportgruppeNr) Me.dsReport.Clear() Me.daReport.Fill(Me.dsReport, "ReportsForGroup") If grdReport.Bookmark < 0 Then Me.m_iReportNr = 0 Else Me.m_iReportNr = dsReport.Tables(0).Rows(grdReport.Bookmark).Item("reportNr") End If FillParameter() End Sub Private Sub FillParameter() '=============================================================================== 'Desc : Füllen des Grid Parameter Kriterium ist die ReportNr ab Property 'Input : 'Output : 'Erstellt : koe 20.10.2003 'Geaendert : '=============================================================================== Me.daParameter.SelectCommand.Parameters.Clear() Me.daParameter.SelectCommand.Parameters.Add("@reportNr", Me.m_iReportNr) Me.dsParameter.Clear() Me.daParameter.Fill(Me.dsParameter, "ParametersForReport") End Sub #End Region #Region " Control Functionen " Private Sub grdParameter_ButtonClick(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.ColEventArgs) Handles grdParameter.ButtonClick Dim sDislpayResult As String Dim sNavigationResult As String Dim bDialogOK As Boolean = False Dim s_Result As String Dim s_datenherkunft As String Select Case UCase(Me.grdParameter.Columns("SteuerbefehlNr").Value) Case 1 'STANDART Case 2 'PARTNERSUCHE Dim f As New frmValueSelector() f.Text = "Auswahl VV-Nummer" f.Datenherkunft = "&VVdesPartners&" f.Datenherkunft = "&VVunformatiert&" f.Partnernr = "1000008" f.LoadData() f.ShowDialog() If f.DialogResult = DialogResult.OK Then bDialogOK = True s_datenherkunft = f.Datenherkunft sNavigationResult = f.SelWert sDislpayResult = sNavigationResult End If f.Dispose() Case 3 'Kalender Dim f As New frmCalendar() f.ShowDialog() If f.DialogResult = DialogResult.OK Then bDialogOK = True s_datenherkunft = "" sNavigationResult = f.MonthCalendar1.SelectionStart sDislpayResult = sNavigationResult End If f.Dispose() Case 4 'Datumbereich Dim f As New frmDatumSelect() f.datenherkunft = Me.grdParameter.Columns("datenherkunft").Text f.StartPosition = FormStartPosition.CenterParent f.ShowDialog() If f.dialogResult = DialogResult.OK Then bDialogOK = True s_datenherkunft = f.datenherkunft sNavigationResult = f.Result sDislpayResult = sNavigationResult End If f.Dispose() Case 5 'Dokumenttypnummer Dim f As New frmValueSelect() f.datenherkunft = Me.grdParameter.Columns("datenherkunft").Text f.StartPosition = FormStartPosition.CenterParent f.SelectionType = frmValueSelect.Enum_SelelectType.ValueSelect f.Text = "Dokumenttyp" If Me.grdParameter.Columns("ParameterNavigationValue").Text = "" Then f.ID = 0 Else f.ID = CType(Me.grdParameter.Columns("ParameterNavigationValue").Text, Integer) End If f.ShowDialog() If f.dialogResult = DialogResult.OK Then bDialogOK = True s_datenherkunft = f.datenherkunft sNavigationResult = f.NavigationResult sDislpayResult = f.DislpayResult End If f.Dispose() Case 6 'Rollen Dim f As New frmValueSelect() f.datenherkunft = Me.grdParameter.Columns("datenherkunft").Text f.StartPosition = FormStartPosition.CenterParent f.SelectionType = frmValueSelect.Enum_SelelectType.ValueSelect f.Text = "Rollen" If Me.grdParameter.Columns("ParameterNavigationValue").Text = "" Then f.ID = 0 Else f.ID = CType(Me.grdParameter.Columns("ParameterNavigationValue").Text, Integer) End If f.ShowDialog() If f.dialogResult = DialogResult.OK Then bDialogOK = True s_datenherkunft = f.datenherkunft sNavigationResult = f.NavigationResult sDislpayResult = f.DislpayResult End If f.Dispose() Case 7 'Funktionen Dim f As New frmValueSelect() f.datenherkunft = Me.grdParameter.Columns("datenherkunft").Text f.StartPosition = FormStartPosition.CenterParent f.SelectionType = frmValueSelect.Enum_SelelectType.ValueSelect f.Text = "Funktionsgruppen" If Me.grdParameter.Columns("ParameterNavigationValue").Text = "" Then f.ID = 0 Else f.ID = CType(Me.grdParameter.Columns("ParameterNavigationValue").Text, Integer) End If f.ShowDialog() If f.dialogResult = DialogResult.OK Then bDialogOK = True s_datenherkunft = f.datenherkunft sNavigationResult = f.NavigationResult sDislpayResult = f.DislpayResult End If f.Dispose() Case 8 'Mitarbeiter Dim f As New frmValueSelect() f.datenherkunft = Me.grdParameter.Columns("datenherkunft").Text f.StartPosition = FormStartPosition.CenterParent f.SelectionType = frmValueSelect.Enum_SelelectType.ValueSelect f.Text = "Mitarbeiter" If Me.grdParameter.Columns("ParameterNavigationValue").Text = "" Then f.ID = 0 Else f.ID = CType(Me.grdParameter.Columns("ParameterNavigationValue").Text, Integer) End If f.ShowDialog() If f.dialogResult = DialogResult.OK Then bDialogOK = True s_datenherkunft = f.datenherkunft sNavigationResult = f.NavigationResult sDislpayResult = f.DislpayResult End If f.Dispose() Case Else MessageBox.Show(MyTxt.gettext(18), "Auswahl", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) End Select '=============================================================================== 'Spalten im Grid aktualisieren '=============================================================================== If bDialogOK = True Then Me.grdParameter.Columns("ParameterNavigationValue").Text = sNavigationResult Me.grdParameter.Columns("ParameterDisplayValue").Text = sDislpayResult Me.grdParameter.Columns("datenherkunft").Text = s_datenherkunft End If End Sub Private Sub grdReport_RowColChange(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.RowColChangeEventArgs) Handles grdReport.RowColChange Me.m_iReportNr = Me.grdReport.Columns("reportNr").Value FillParameter() 'Füllen der Parameterliste anhand der reportNr End Sub Private Sub grdParameter_BeforeColUpdate(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.BeforeColUpdateEventArgs) Handles grdParameter.BeforeColUpdate Dim aParametervalue() As String Select Case Me.grdParameter.Columns("feldtypNr").CellText(grdParameter.Bookmark) Case 2, 3 '2 = Ganzzahl, 3 = Dezimalzahl 2" If Not Me.grdParameter.Columns("ParameterNavigationValue") Is System.DBNull.Value And Me.grdParameter.Columns("ParameterNavigationValue").Value <> "" Then If Not IsNumeric(Me.grdParameter.Columns("ParameterNavigationValue").Value) Then MessageBox.Show("Ihre Eingabe im Parameterwert " & Me.grdParameter.Columns("Parameter").CellText(grdParameter.Bookmark) & " entspricht nicht der Vormatvorlage!" & vbCrLf & "Format = " & Me.grdParameter.Columns("Format").CellText(grdParameter.Bookmark), "Auswertung", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1) 'todo: Messeagetext e.Cancel = True End If End If Case 4 'Boolean If Not Me.grdParameter.Columns("ParameterNavigationValue") Is System.DBNull.Value And Me.grdParameter.Columns("ParameterNavigationValue").Value <> "" Then If Not IsNumeric(Me.grdParameter.Columns("ParameterNavigationValue").Value) Then MessageBox.Show("Ihre Eingabe im Parameterwert " & Me.grdParameter.Columns("Parameter").CellText(grdParameter.Bookmark) & " entspricht nicht der Vormatvorlage!" & vbCrLf & "Format = " & Me.grdParameter.Columns("Format").CellText(grdParameter.Bookmark), "Auswertung", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1) 'todo: Messeagetext e.Cancel = True End If End If Case 5 'Datum If Not Me.grdParameter.Columns("ParameterNavigationValue") Is System.DBNull.Value And Me.grdParameter.Columns("ParameterNavigationValue").Value <> "" Then If Not IsDate(Me.grdParameter.Columns("ParameterNavigationValue").Value) Then MessageBox.Show("Ihre Eingabe im Parameterwert " & Me.grdParameter.Columns("Parameter").CellText(grdParameter.Bookmark) & " entspricht nicht der Vormatvorlage!" & vbCrLf & "Format = " & Me.grdParameter.Columns("Format").CellText(grdParameter.Bookmark), "Auswertung", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1) 'todo: Messeagetext e.Cancel = True End If End If Case 6 'Datumbereich If Not Me.grdParameter.Columns("ParameterNavigationValue") Is System.DBNull.Value And Me.grdParameter.Columns("ParameterNavigationValue").Value <> "" Then aParametervalue = Split(Me.grdParameter.Columns("ParameterNavigationValue").Value, " ") If UBound(aParametervalue) = 3 Then If Not IsDate(aParametervalue(1)) Then MessageBox.Show("Der ertste Datumswert " & aParametervalue(1) & " entspricht nicht einem Datumformat! " & vbLf & vbLf & "Format = DD.MM.JJJJ", "Auswertung", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1) e.Cancel = True 'todo: Messeagetext End If If Not IsDate(aParametervalue(3)) Then MessageBox.Show("Der zweite Datumswert " & aParametervalue(3) & " entspricht nicht einem Datumformat! " & vbLf & vbLf & "Format = DD.MM.JJJJ", "Auswertung", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1) e.Cancel = True 'todo: Messeagetext End If If UCase(aParametervalue(0)) <> "BETWEEN" Then MessageBox.Show("Das erste Wort muss BETWEEN heissen! " & vbLf & vbLf & "Eingabeformat = BETWEEN [Datum] AND [DATUM]", "Auswertung", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1) e.Cancel = True 'todo: Messeagetext End If If UCase(aParametervalue(2)) <> "AND" Then MessageBox.Show("Das Wort zwischen den Datum muss AND sein! " & vbLf & vbLf & "Eingabeformat = BETWEEN [Datum] AND [DATUM]", "Auswertung", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1) e.Cancel = True 'todo: Messeagetext End If Else MessageBox.Show("Falsche Parameteranzahl in " & Me.grdParameter.Columns("Parameter").CellText(grdParameter.Bookmark) & "!" & vbLf & vbLf & "Eingabeformat = BETWEEN [Datum] AND [DATUM]", "Auswertung", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1) e.Cancel = True 'todo: Messeagetext End If End If End Select End Sub Private Sub grdParameter_FetchCellStyle(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.FetchCellStyleEventArgs) Handles grdParameter.FetchCellStyle If Me.grdParameter.Columns("eingabe_zwingend").CellValue(e.Row) = True Then e.CellStyle.BackColor = System.Drawing.Color.LightPink End If End Sub Private Sub grdParameter_BeforeColEdit(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.BeforeColEditEventArgs) Handles grdParameter.BeforeColEdit Select Case Me.grdParameter.Columns("Datenherkunft").Text Case "&Funktionsgruppe&", "&Mitarbeiter&", "&Rollen&", "&Dokumenttyp&" MessageBox.Show("Diese Spalte kann nicht editiert werden!" & vbLf & "Wählen Sie einen Wert aus der Liste aus, indem sie die Schaltfläche im Feld betätigen.", "Gesperrtes Feld", MessageBoxButtons.OK, MessageBoxIcon.Information) 'todo: Messagebox e.Cancel = True End Select End Sub Private Sub grdReport_ButtonClick(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.ColEventArgs) Handles grdReport.ButtonClick Dim f As New frmDescription() f.FormTitel = "Rebortbeschreibung" f.Titel = Me.grdReport.Columns("beschreibung").Caption & " = " & Me.grdReport.Columns("report").Value f.Meldung = Me.grdReport.Columns("beschreibung").Value f.ShowDialog() f.Dispose() End Sub #End Region #Region " Extra Functionen " Public Sub SpaltenTitel_Aktualisieren(ByVal ds As DataSet, ByRef grd As C1.Win.C1TrueDBGrid.C1TrueDBGrid) 'Spaltentitel setzen Dim titel As New EDOKA.MySpaltenTitel() Dim cols(grd.Splits(0).DisplayColumns.Count) As C1.Win.C1TrueDBGrid.C1DisplayColumn Dim ts As New EDOKA.Tabellenspalte() Dim i As Integer Dim t As New DataTable() Dim dc As C1.Win.C1TrueDBGrid.C1DisplayColumn Dim s As String Dim DisplayColumnsCount As Integer Dim aSpalten(0, 0) As C1.Win.C1TrueDBGrid.C1DisplayColumn Dim Reihe As C1.Win.C1TrueDBGrid.C1DisplayColumn Dim iMaxSortOrderValue As Integer = 0 Dim dsMaxSortOrder As New DataSet() Dim bSetNewSortOrder As Boolean = True Dim iSpaltenOffset As Integer = 0 'Offset wenn Nothing in Array '============ Bestimmt Anzahl Displaycolumn und MaxValue Sortorder 'Dim ssql As String 'ssql = "SELECT MAX(Reihenfolge) AS MaxSortOrder FROM spalten WHERE tabelle = '" & Me.TableName & "'" Dim daMaxSortOrder As New SqlDataAdapter("SELECT MAX(Reihenfolge) AS MaxSortOrder FROM spalten WHERE tabelle = '" & Me.TableName & "'", Globals.sConnectionString) daMaxSortOrder.Fill(dsMaxSortOrder) DisplayColumnsCount = grd.Splits(0).DisplayColumns.Count - 1 iMaxSortOrderValue = dsMaxSortOrder.Tables(0).Rows(0).Item(0) ReDim aSpalten(iMaxSortOrderValue - 1, 0) 'Array für Anzahlen definieren t = ds.Tables(0) ts.Tabelle = Me.TableName For i = 0 To grd.Columns.Count - 1 s = grd.Columns(i).DataField ts.Feld = s ts.getspalte() grd.Columns(i).Caption = ts.spaltenname If grd.Columns(i).Caption = "" Then 'grd.Splits(0).DisplayColumns(i).Visible = False grd.Splits(0).DisplayColumns(i).Width = 0 'grd.Columns(i).Caption = grd.Columns(i).DataField Else grd.Splits(0).DisplayColumns(i).Width = ts.ColWith End If If ts.locked Then grd.Splits(0).DisplayColumns(i).Locked = True End If If ts.AlsHacken Then grd.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox End If 'Präsentation von aktiv If grd.Columns(i).DataField = "aktiv" Then grd.Columns(i).ValueItems.Presentation = C1.Win.C1TrueDBGrid.PresentationEnum.CheckBox grd.Columns(i).ValueItems.DefaultItem = True grd.Columns(i).DefaultValue = True grd.Columns(i).FilterText = True End If If grd.Columns(i).DataField = "erstellt_am" Then grd.Columns(i).DefaultValue = Now End If '============ Aktuelle Spalte in ArraySpalten schreiben '============ Sortorder darf nicht 0 sein If iMaxSortOrderValue > 0 Then If ts.Order = 0 Then MessageBox.Show("Fehler Reihenfolge" & vbCrLf & "Tabelle " & Me.TableName & vbCrLf & "Spalte " & s & vbCrLf & "Sortierreihenfolge mit dem Wert 0 sind nicht erlaubt!" & vbCrLf & "Prüfen Sie die Reihenfolge der Tabelle " & Me.TableName & " in der Systemadministration Spalten", "Sortierreihenfolge 0", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) Else Reihe = grd.Splits(0).DisplayColumns(i) If Not aSpalten(ts.Order - 1, 0) Is Nothing Then '============ Arrayplatz bereits bleget ' MessageBox.Show("Doppelte Sortier-Nummer!" & vbCrLf & "Tabelle " & Me.TableName & vbCrLf & "Spalte " & s & vbCrLf & "Prüfen Sie die Sortierreihenfoge der Tabelle " & Me.TableName & " in der Systemadministration Spalten!", MessageBoxButtons.OK, "Sortierreihenfolge ", MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) MessageBox.Show("Doppelte Sortier-Nummer!" & vbCrLf & "Tabelle " & Me.TableName & vbCrLf & "Spalte " & s & vbCrLf & "Sortierreihenfolge mit 2 gleichen Werten sind nicht erlaubt!" & vbCrLf & "Prüfen Sie die Reihenfolge der Tabelle " & Me.TableName & " in der Systemadministration Spalten", "Doppelte Sortier-Nummer " & ts.Order, MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) 'bSetNewSortOrder = False End If If ts.Order > 0 And aSpalten(ts.Order - 1, 0) Is Nothing Then '============ Aktuelle Spalte in ArraySpalten schreiben aSpalten(ts.Order - 1, 0) = Reihe End If End If End If Next If iMaxSortOrderValue > 0 And bSetNewSortOrder = True Then '=============================================================================== 'Wenn in der Sortierreihenfoge keine 0 steht werden die Spalten neu Sortiert '=============================================================================== Try '============ Spalten löschen For i = 0 To DisplayColumnsCount grd.Splits(0).DisplayColumns.RemoveAt(0) Next Catch End Try '============ Spalten nachh Sortorder einfügen For i = 0 To iMaxSortOrderValue - 1 Try If Not aSpalten(i, 0) Is Nothing Then If aSpalten(i, 0).Width > 0 Then grd.Splits(0).DisplayColumns.Insert(i - iSpaltenOffset, aSpalten(i, 0)) Else iSpaltenOffset += 1 End If Else iSpaltenOffset += 1 End If Catch ex As Exception MsgBox(ex.Message) End Try Next End If dsMaxSortOrder = Nothing daMaxSortOrder = Nothing End Sub #End Region End Class