Public Class frmDatumSelect Inherits System.Windows.Forms.Form #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 lbl As System.Windows.Forms.Label Friend WithEvents cboAnzTageBis As C1.Win.C1List.C1Combo Friend WithEvents cboAnzTageVon As C1.Win.C1List.C1Combo Friend WithEvents cboDateRange As C1.Win.C1List.C1Combo Friend WithEvents dpBis As System.Windows.Forms.DateTimePicker Friend WithEvents dpVon As System.Windows.Forms.DateTimePicker Friend WithEvents lblAuswahlVon As System.Windows.Forms.Label Friend WithEvents lblAuswahlBis As System.Windows.Forms.Label Friend WithEvents lblVonDatum As System.Windows.Forms.Label Friend WithEvents lblBisDatum As System.Windows.Forms.Label Friend WithEvents cmdCancel As System.Windows.Forms.Button Friend WithEvents cmdOK As System.Windows.Forms.Button Private Sub InitializeComponent() Dim Style1 As C1.Win.C1List.Style = New C1.Win.C1List.Style Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDatumSelect)) Dim Style2 As C1.Win.C1List.Style = New C1.Win.C1List.Style Dim Style3 As C1.Win.C1List.Style = New C1.Win.C1List.Style Dim Style4 As C1.Win.C1List.Style = New C1.Win.C1List.Style Dim Style5 As C1.Win.C1List.Style = New C1.Win.C1List.Style Dim Style6 As C1.Win.C1List.Style = New C1.Win.C1List.Style Dim Style7 As C1.Win.C1List.Style = New C1.Win.C1List.Style Dim Style8 As C1.Win.C1List.Style = New C1.Win.C1List.Style Dim Style9 As C1.Win.C1List.Style = New C1.Win.C1List.Style Dim Style10 As C1.Win.C1List.Style = New C1.Win.C1List.Style Dim Style11 As C1.Win.C1List.Style = New C1.Win.C1List.Style Dim Style12 As C1.Win.C1List.Style = New C1.Win.C1List.Style Dim Style13 As C1.Win.C1List.Style = New C1.Win.C1List.Style Dim Style14 As C1.Win.C1List.Style = New C1.Win.C1List.Style Dim Style15 As C1.Win.C1List.Style = New C1.Win.C1List.Style Dim Style16 As C1.Win.C1List.Style = New C1.Win.C1List.Style Dim Style17 As C1.Win.C1List.Style = New C1.Win.C1List.Style Dim Style18 As C1.Win.C1List.Style = New C1.Win.C1List.Style Dim Style19 As C1.Win.C1List.Style = New C1.Win.C1List.Style Dim Style20 As C1.Win.C1List.Style = New C1.Win.C1List.Style Dim Style21 As C1.Win.C1List.Style = New C1.Win.C1List.Style Dim Style22 As C1.Win.C1List.Style = New C1.Win.C1List.Style Dim Style23 As C1.Win.C1List.Style = New C1.Win.C1List.Style Dim Style24 As C1.Win.C1List.Style = New C1.Win.C1List.Style Me.lbl = New System.Windows.Forms.Label Me.cboAnzTageBis = New C1.Win.C1List.C1Combo Me.cboAnzTageVon = New C1.Win.C1List.C1Combo Me.cboDateRange = New C1.Win.C1List.C1Combo Me.dpBis = New System.Windows.Forms.DateTimePicker Me.dpVon = New System.Windows.Forms.DateTimePicker Me.lblAuswahlVon = New System.Windows.Forms.Label Me.lblAuswahlBis = New System.Windows.Forms.Label Me.lblVonDatum = New System.Windows.Forms.Label Me.lblBisDatum = New System.Windows.Forms.Label Me.cmdCancel = New System.Windows.Forms.Button Me.cmdOK = New System.Windows.Forms.Button CType(Me.cboAnzTageBis, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.cboAnzTageVon, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.cboDateRange, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'lbl ' Me.lbl.Location = New System.Drawing.Point(18, 11) Me.lbl.Name = "lbl" Me.lbl.Size = New System.Drawing.Size(80, 16) Me.lbl.TabIndex = 80 Me.lbl.Text = "Datumbereich" Me.lbl.TextAlign = System.Drawing.ContentAlignment.MiddleLeft ' 'cboAnzTageBis ' Me.cboAnzTageBis.AddItemSeparator = Global.Microsoft.VisualBasic.ChrW(59) Me.cboAnzTageBis.Caption = "" Me.cboAnzTageBis.CaptionHeight = 17 Me.cboAnzTageBis.CaptionStyle = Style1 Me.cboAnzTageBis.CaptionVisible = False Me.cboAnzTageBis.CharacterCasing = System.Windows.Forms.CharacterCasing.Normal Me.cboAnzTageBis.ColumnCaptionHeight = 17 Me.cboAnzTageBis.ColumnFooterHeight = 17 Me.cboAnzTageBis.ColumnHeaders = False Me.cboAnzTageBis.ContentHeight = 15 Me.cboAnzTageBis.Cursor = System.Windows.Forms.Cursors.IBeam Me.cboAnzTageBis.DataMode = C1.Win.C1List.DataModeEnum.AddItem Me.cboAnzTageBis.DeadAreaBackColor = System.Drawing.Color.Empty Me.cboAnzTageBis.EditorBackColor = System.Drawing.SystemColors.Window Me.cboAnzTageBis.EditorFont = New System.Drawing.Font("Microsoft Sans Serif", 8.25!) Me.cboAnzTageBis.EditorForeColor = System.Drawing.SystemColors.WindowText Me.cboAnzTageBis.EditorHeight = 15 Me.cboAnzTageBis.EvenRowStyle = Style2 Me.cboAnzTageBis.FooterStyle = Style3 Me.cboAnzTageBis.HeadingStyle = Style4 Me.cboAnzTageBis.HighLightRowStyle = Style5 Me.cboAnzTageBis.Images.Add(CType(resources.GetObject("cboAnzTageBis.Images"), System.Drawing.Image)) Me.cboAnzTageBis.ItemHeight = 15 Me.cboAnzTageBis.Location = New System.Drawing.Point(296, 32) Me.cboAnzTageBis.MatchEntryTimeout = CType(100, Long) Me.cboAnzTageBis.MaxDropDownItems = CType(5, Short) Me.cboAnzTageBis.MaxLength = 32767 Me.cboAnzTageBis.MouseCursor = System.Windows.Forms.Cursors.Default Me.cboAnzTageBis.Name = "cboAnzTageBis" Me.cboAnzTageBis.OddRowStyle = Style6 Me.cboAnzTageBis.RowDivider.Color = System.Drawing.Color.DarkGray Me.cboAnzTageBis.RowDivider.Style = C1.Win.C1List.LineStyleEnum.None Me.cboAnzTageBis.RowSubDividerColor = System.Drawing.Color.DarkGray Me.cboAnzTageBis.SelectedStyle = Style7 Me.cboAnzTageBis.Size = New System.Drawing.Size(98, 21) Me.cboAnzTageBis.Style = Style8 Me.cboAnzTageBis.TabIndex = 5 Me.cboAnzTageBis.TabStop = False Me.cboAnzTageBis.Text = "1" Me.cboAnzTageBis.PropBag = resources.GetString("cboAnzTageBis.PropBag") ' 'cboAnzTageVon ' Me.cboAnzTageVon.AddItemSeparator = Global.Microsoft.VisualBasic.ChrW(59) Me.cboAnzTageVon.Caption = "" Me.cboAnzTageVon.CaptionHeight = 17 Me.cboAnzTageVon.CaptionStyle = Style9 Me.cboAnzTageVon.CaptionVisible = False Me.cboAnzTageVon.CharacterCasing = System.Windows.Forms.CharacterCasing.Normal Me.cboAnzTageVon.ColumnCaptionHeight = 17 Me.cboAnzTageVon.ColumnFooterHeight = 17 Me.cboAnzTageVon.ColumnHeaders = False Me.cboAnzTageVon.ContentHeight = 15 Me.cboAnzTageVon.Cursor = System.Windows.Forms.Cursors.IBeam Me.cboAnzTageVon.DataMode = C1.Win.C1List.DataModeEnum.AddItem Me.cboAnzTageVon.DeadAreaBackColor = System.Drawing.Color.Empty Me.cboAnzTageVon.EditorBackColor = System.Drawing.SystemColors.Window Me.cboAnzTageVon.EditorFont = New System.Drawing.Font("Microsoft Sans Serif", 8.25!) Me.cboAnzTageVon.EditorForeColor = System.Drawing.SystemColors.WindowText Me.cboAnzTageVon.EditorHeight = 15 Me.cboAnzTageVon.EvenRowStyle = Style10 Me.cboAnzTageVon.FooterStyle = Style11 Me.cboAnzTageVon.HeadingStyle = Style12 Me.cboAnzTageVon.HighLightRowStyle = Style13 Me.cboAnzTageVon.Images.Add(CType(resources.GetObject("cboAnzTageVon.Images"), System.Drawing.Image)) Me.cboAnzTageVon.ItemHeight = 15 Me.cboAnzTageVon.Location = New System.Drawing.Point(296, 8) Me.cboAnzTageVon.MatchEntryTimeout = CType(100, Long) Me.cboAnzTageVon.MaxDropDownItems = CType(5, Short) Me.cboAnzTageVon.MaxLength = 32767 Me.cboAnzTageVon.MouseCursor = System.Windows.Forms.Cursors.Default Me.cboAnzTageVon.Name = "cboAnzTageVon" Me.cboAnzTageVon.OddRowStyle = Style14 Me.cboAnzTageVon.RowDivider.Color = System.Drawing.Color.DarkGray Me.cboAnzTageVon.RowDivider.Style = C1.Win.C1List.LineStyleEnum.None Me.cboAnzTageVon.RowSubDividerColor = System.Drawing.Color.DarkGray Me.cboAnzTageVon.SelectedStyle = Style15 Me.cboAnzTageVon.Size = New System.Drawing.Size(98, 21) Me.cboAnzTageVon.Style = Style16 Me.cboAnzTageVon.TabIndex = 4 Me.cboAnzTageVon.Text = "1" Me.cboAnzTageVon.PropBag = resources.GetString("cboAnzTageVon.PropBag") ' 'cboDateRange ' Me.cboDateRange.AddItemSeparator = Global.Microsoft.VisualBasic.ChrW(59) Me.cboDateRange.AutoCompletion = True Me.cboDateRange.AutoDropDown = True Me.cboDateRange.Caption = "" Me.cboDateRange.CaptionHeight = 17 Me.cboDateRange.CaptionStyle = Style17 Me.cboDateRange.CharacterCasing = System.Windows.Forms.CharacterCasing.Normal Me.cboDateRange.ColumnCaptionHeight = 17 Me.cboDateRange.ColumnFooterHeight = 17 Me.cboDateRange.ColumnHeaders = False Me.cboDateRange.ContentHeight = 15 Me.cboDateRange.Cursor = System.Windows.Forms.Cursors.IBeam Me.cboDateRange.DataMode = C1.Win.C1List.DataModeEnum.AddItem Me.cboDateRange.DeadAreaBackColor = System.Drawing.Color.Empty Me.cboDateRange.EditorBackColor = System.Drawing.SystemColors.Window Me.cboDateRange.EditorFont = New System.Drawing.Font("Microsoft Sans Serif", 8.25!) Me.cboDateRange.EditorForeColor = System.Drawing.SystemColors.WindowText Me.cboDateRange.EditorHeight = 15 Me.cboDateRange.EvenRowStyle = Style18 Me.cboDateRange.FooterStyle = Style19 Me.cboDateRange.HeadingStyle = Style20 Me.cboDateRange.HighLightRowStyle = Style21 Me.cboDateRange.Images.Add(CType(resources.GetObject("cboDateRange.Images"), System.Drawing.Image)) Me.cboDateRange.ItemHeight = 15 Me.cboDateRange.Location = New System.Drawing.Point(101, 8) Me.cboDateRange.MatchEntryTimeout = CType(100, Long) Me.cboDateRange.MaxDropDownItems = CType(5, Short) Me.cboDateRange.MaxLength = 32767 Me.cboDateRange.MouseCursor = System.Windows.Forms.Cursors.Default Me.cboDateRange.Name = "cboDateRange" Me.cboDateRange.OddRowStyle = Style22 Me.cboDateRange.RowDivider.Color = System.Drawing.Color.DarkGray Me.cboDateRange.RowDivider.Style = C1.Win.C1List.LineStyleEnum.None Me.cboDateRange.RowSubDividerColor = System.Drawing.Color.DarkGray Me.cboDateRange.SelectedStyle = Style23 Me.cboDateRange.Size = New System.Drawing.Size(167, 21) Me.cboDateRange.Style = Style24 Me.cboDateRange.TabIndex = 1 Me.cboDateRange.Text = "Von_Bis" Me.cboDateRange.PropBag = resources.GetString("cboDateRange.PropBag") ' 'dpBis ' Me.dpBis.Format = System.Windows.Forms.DateTimePickerFormat.[Short] Me.dpBis.Location = New System.Drawing.Point(101, 71) Me.dpBis.Name = "dpBis" Me.dpBis.Size = New System.Drawing.Size(168, 20) Me.dpBis.TabIndex = 3 ' 'dpVon ' Me.dpVon.Format = System.Windows.Forms.DateTimePickerFormat.[Short] Me.dpVon.Location = New System.Drawing.Point(101, 40) Me.dpVon.Name = "dpVon" Me.dpVon.Size = New System.Drawing.Size(168, 20) Me.dpVon.TabIndex = 2 ' 'lblAuswahlVon ' Me.lblAuswahlVon.Location = New System.Drawing.Point(18, 39) Me.lblAuswahlVon.Name = "lblAuswahlVon" Me.lblAuswahlVon.Size = New System.Drawing.Size(60, 16) Me.lblAuswahlVon.TabIndex = 75 Me.lblAuswahlVon.Text = "Datum von" Me.lblAuswahlVon.TextAlign = System.Drawing.ContentAlignment.MiddleLeft ' 'lblAuswahlBis ' Me.lblAuswahlBis.Location = New System.Drawing.Point(18, 72) Me.lblAuswahlBis.Name = "lblAuswahlBis" Me.lblAuswahlBis.Size = New System.Drawing.Size(63, 16) Me.lblAuswahlBis.TabIndex = 74 Me.lblAuswahlBis.Text = "Datum bis" Me.lblAuswahlBis.TextAlign = System.Drawing.ContentAlignment.MiddleLeft ' 'lblVonDatum ' Me.lblVonDatum.Location = New System.Drawing.Point(273, 43) Me.lblVonDatum.Name = "lblVonDatum" Me.lblVonDatum.Size = New System.Drawing.Size(63, 16) Me.lblVonDatum.TabIndex = 69 Me.lblVonDatum.Text = "01.01.2003" Me.lblVonDatum.TextAlign = System.Drawing.ContentAlignment.MiddleLeft ' 'lblBisDatum ' Me.lblBisDatum.Location = New System.Drawing.Point(274, 74) Me.lblBisDatum.Name = "lblBisDatum" Me.lblBisDatum.Size = New System.Drawing.Size(63, 16) Me.lblBisDatum.TabIndex = 68 Me.lblBisDatum.Text = "31.12.2003" Me.lblBisDatum.TextAlign = System.Drawing.ContentAlignment.MiddleLeft ' 'cmdCancel ' Me.cmdCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel Me.cmdCancel.Location = New System.Drawing.Point(101, 100) Me.cmdCancel.Name = "cmdCancel" Me.cmdCancel.Size = New System.Drawing.Size(67, 23) Me.cmdCancel.TabIndex = 7 Me.cmdCancel.Text = "Abbrechen" ' 'cmdOK ' Me.cmdOK.DialogResult = System.Windows.Forms.DialogResult.OK Me.cmdOK.Location = New System.Drawing.Point(264, 100) Me.cmdOK.Name = "cmdOK" Me.cmdOK.Size = New System.Drawing.Size(67, 23) Me.cmdOK.TabIndex = 6 Me.cmdOK.Text = "OK" ' 'frmDatumSelect ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(410, 138) Me.Controls.Add(Me.lbl) Me.Controls.Add(Me.cboAnzTageVon) Me.Controls.Add(Me.cboDateRange) Me.Controls.Add(Me.dpBis) Me.Controls.Add(Me.dpVon) Me.Controls.Add(Me.lblAuswahlVon) Me.Controls.Add(Me.lblAuswahlBis) Me.Controls.Add(Me.lblVonDatum) Me.Controls.Add(Me.lblBisDatum) Me.Controls.Add(Me.cmdCancel) Me.Controls.Add(Me.cmdOK) Me.Controls.Add(Me.cboAnzTageBis) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow Me.Name = "frmDatumSelect" Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent Me.Text = "Datum Selektion" CType(Me.cboAnzTageBis, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.cboAnzTageVon, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.cboDateRange, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) End Sub #End Region #Region "Declarationen" Private m_sdatenherkunft As String Private m_sResult As String Private m_dDatumVon As Date Private m_dDatumBis As Date Private m_iAnzahlTageVon As Integer Private m_iAnzahlTageBis As Integer Private m_iLastDayAktuellerMonat As Integer Dim m_sDislpayResult As String Dim m_sNavigationResult As String Private m_iDatumberich As Enum_Datumbereich Public Enum Enum_Datumbereich Von_Bis = 0 Datum_Bis_Heute = 1 Tage_Bis_Heute = 2 Aktueller_Monat = 3 Aktueller_MonatVon_Bis = 4 End Enum Public Enum Enum_Filltype Monat = 0 Jahr = 1 Heute = 2 End Enum #End Region #Region "Property" Property NavigationResult() As String ' Werte dienen für die Steuerung Get Return m_sResult End Get Set(ByVal Value As String) m_sResult = Value End Set End Property Property DislpayResult() As String Get m_sDislpayResult = Replace(m_sResult, "BETWEEN", "Zwischen") m_sDislpayResult = Replace(m_sDislpayResult, "AND", "und") Return m_sDislpayResult End Get Set(ByVal Value As String) m_sDislpayResult = Value End Set End Property Public Property Datumsbereich() Get Datumsbereich = m_iDatumberich End Get Set(ByVal Value) m_iDatumberich = Value End Set End Property Public Property datenherkunft() Get datenherkunft = m_sdatenherkunft End Get Set(ByVal Value) Dim aDatenherkunft() As String m_sdatenherkunft = Value aDatenherkunft = Split(m_sdatenherkunft, ";") m_iLastDayAktuellerMonat = getlastDayInMonth(Now()) If UBound(aDatenherkunft) > 0 Then 'Struktut des Array '0= Datumbereichtyp 0 '1= Anzahl Tage oder Vondatum 1 oder 10.11.2003 '2= Text Datumbereich Datum_Bis_Heute '3= Anzahl Tage oderBisDatum 10 oder 10.11.2003 m_iDatumberich = aDatenherkunft(0) Select Case m_iDatumberich Case Enum_Datumbereich.Von_Bis m_dDatumVon = aDatenherkunft(1) m_dDatumBis = aDatenherkunft(3) Case Enum_Datumbereich.Datum_Bis_Heute m_dDatumVon = aDatenherkunft(1) m_dDatumBis = Format(Now(), "dd.MM.yyyy") Case Enum_Datumbereich.Tage_Bis_Heute m_iAnzahlTageVon = aDatenherkunft(1) m_dDatumBis = Format(Now(), "dd.MM.yyyy") Case Enum_Datumbereich.Aktueller_Monat m_iAnzahlTageVon = aDatenherkunft(1) m_iAnzahlTageBis = aDatenherkunft(3) Case Enum_Datumbereich.Aktueller_MonatVon_Bis m_iAnzahlTageVon = aDatenherkunft(1) If aDatenherkunft(3) = "Letzter Tag" Then m_iAnzahlTageBis = 31 End If 'm_iAnzahlTageBis = aDatenherkunft(3) If m_iAnzahlTageBis > m_iLastDayAktuellerMonat Then m_iAnzahlTageBis = m_iLastDayAktuellerMonat End If End Select Else m_dDatumVon = Format(Now(), "dd.MM.yyyy") m_dDatumBis = Format(Now(), "dd.MM.yyyy") End If End Set End Property 'Public Property Result() ' Get ' Result = m_sResult ' End Get ' Set(ByVal Value) ' m_sResult = Value ' End Set 'End Property #End Region #Region "Formularfunktionen" Dim iCnt As Integer Private Sub frmDatumSelect_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load m_iLastDayAktuellerMonat = getlastDayInMonth(Now()) cboAnzTageVon.Top = dpVon.Top cboAnzTageVon.Left = dpVon.Left cboAnzTageVon.ColumnHeaders = False cboAnzTageBis.Top = dpBis.Top cboAnzTageBis.Left = dpBis.Left cboAnzTageBis.ColumnHeaders = False cboDateRange.ColumnHeaders = False With cboDateRange .AddItem("Von Bis") 'Von Bis .AddItem("Datum Bis Heute") 'vondatum bis Heute .AddItem("Tage Bis Heute") 'Anzahl Tage bis Heute .AddItem("Aktueller Monat") 'Aktueller Monat .AddItem("Aktueller Monat Von Bis") 'Aktueller Monat .SelectedIndex = m_iDatumberich End With ShowGroupBox(m_iDatumberich) Select Case m_iDatumberich Case Enum_Datumbereich.Von_Bis Case Enum_Datumbereich.Datum_Bis_Heute 'dpVon.Text = m_dDatumVon Case Enum_Datumbereich.Tage_Bis_Heute cboAnzTageVon.SelectedIndex = m_iAnzahlTageVon dpBis.Text = m_dDatumBis Case Enum_Datumbereich.Aktueller_Monat cboAnzTageVon.SelectedIndex = m_iAnzahlTageVon - 1 cboAnzTageBis.SelectedIndex = m_iAnzahlTageBis Case Enum_Datumbereich.Aktueller_MonatVon_Bis cboAnzTageVon.SelectedIndex = m_iAnzahlTageVon - 1 cboAnzTageBis.SelectedIndex = m_iAnzahlTageBis End Select GetDatumBis() GetDatumVon() 'lblVonDatum.Text = dpVon.Text 'lblBisDatum.Text = dpBis.Text cboDateRange.Splits(0).DisplayColumns(0).Width = cboDateRange.Width - 20 End Sub Private Sub dpBis_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dpBis.ValueChanged lblBisDatum.Text = dpBis.Text End Sub Private Sub dpVon_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dpVon.ValueChanged lblVonDatum.Text = dpVon.Text End Sub Private Sub cboAnzTageVon_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboAnzTageVon.TextChanged GetDatumVon() End Sub Private Sub cboAnzTageVon_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles cboAnzTageVon.Validating If ValidateComboInput(cboAnzTageVon) = False Then 'Eingabe prüfen MessageBox.Show(MyTxt.gettext(18), "Eingabe von Datum", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1) 'MessageBox.Show("Kein Text der Liste", "Eingabe", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1) e.Cancel = True End If End Sub Private Sub cboAnzTageVon_Validated(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboAnzTageVon.Validated GetDatumVon() End Sub Private Sub cboAnzTageBis_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboAnzTageBis.TextChanged GetDatumBis() End Sub Private Sub cboAnzTageBis_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles cboAnzTageBis.Validating If ValidateComboInput(cboAnzTageBis) = False Then MessageBox.Show(MyTxt.gettext(18), "Eingabe bis Datum", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) ' MessageBox.Show("Kein Text der Liste", "Eingabe", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1) e.Cancel = True End If End Sub Private Sub cboAnzTageBis_Validated(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboAnzTageBis.Validated GetDatumBis() End Sub Private Sub cmdCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCancel.Click Me.Close() End Sub Private Sub cmdOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdOK.Click '=============================================================================== 'Desc : Befüllen der Property & Form schliessen 'Input : 'Kriterium : Selected Datumrange 'Updatewert : 'Output : 'Erstellt : koe 10.11.2003 'Geaendert : '=============================================================================== m_iDatumberich = cboDateRange.SelectedIndex Select Case cboDateRange.SelectedIndex Case Enum_Datumbereich.Von_Bis m_sdatenherkunft = m_iDatumberich & ";" & dpVon.Text & ";Von_Bis;" & dpBis.Text Case Enum_Datumbereich.Datum_Bis_Heute m_sdatenherkunft = m_iDatumberich & ";" & dpVon.Text & ";Datum_Bis_Heute;Heute" Case Enum_Datumbereich.Tage_Bis_Heute m_sdatenherkunft = m_iDatumberich & ";" & cboAnzTageVon.Text & ";Tage_Bis_Heute;Heute" Case Enum_Datumbereich.Aktueller_Monat m_sdatenherkunft = m_iDatumberich & ";1;AktuellerMonat;0" '0 = Letzer Tag Case Enum_Datumbereich.Aktueller_MonatVon_Bis m_sdatenherkunft = m_iDatumberich & ";" & cboAnzTageVon.Text & ";AktuellerMonat;" & cboAnzTageBis.Text End Select 'm_sResult = "BETWEEN CONVERT(DATETIME, ' " & Format(CDate(lblVonDatum.Text), "yyyy.MM.dd") & "', 102) And CONVERT(DATETIME, ' " & Format(CDate(lblBisDatum.Text), "yyyy.MM.dd 23:59:59") & "', 102) " m_sResult = "BETWEEN " & lblVonDatum.Text & " AND " & lblBisDatum.Text 'WHERE (mutiert_am BETWEEN CONVERT(DATETIME, '2004-03-01 00:00:00', 102) AND CONVERT(DATETIME, '2004-03-01 23:59:59', 102)) Me.Close() End Sub #End Region #Region "Div Funktionen" Private Sub fillCbo(ByRef cbo As C1.Win.C1List.C1Combo, ByVal Datum As Date, ByVal FillTyp As Enum_Filltype, ByVal inklLetzterTag As Boolean) '=============================================================================== 'Desc : Füllt das Combo für den aktuellen Filltyp 'Input : Combocontrol,Datum, Inkl. Letzter Tag 'Kriterium : Inkl. Letzter Tag = Bei einem Monat wird der letzte Tag des Monat gewählt 'Updatewert : 'Output : 'Erstellt : koe 10.11.2003 'Geaendert : '=============================================================================== Dim iCnt As Integer 'Zaehler With cbo .ClearItems() If inklLetzterTag = True Then .AddItem("Letzter Tag") End If Select Case FillTyp Case Enum_Filltype.Heute '============ Heute .AddItem("Heute") .SelectedIndex = 0 Case Enum_Filltype.Jahr '============ Jahr Me.Cursor = Cursors.WaitCursor For iCnt = 0 To 366 .AddItem(iCnt) Next .SelectedIndex = 0 Me.Cursor = Cursors.Default Case Enum_Filltype.Monat '============ Monat For iCnt = 1 To m_iLastDayAktuellerMonat .AddItem(CType(iCnt, String)) Next Try .SelectedIndex = 0 Catch ex As Exception MsgBox(ex.Message) End Try End Select End With End Sub Private Function ValidateComboInput(ByRef cbo As C1.Win.C1List.C1Combo) As Boolean Dim iFoundIndex As Integer iFoundIndex = cbo.FindStringExact(cbo.Text, 0, 0) If iFoundIndex > -1 Then ValidateComboInput = True Try cbo.SelectedIndex = iFoundIndex Catch ex As Exception MsgBox(ex.Message) End Try Else ValidateComboInput = False End If 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 iLastDayNextMonat 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) iLastDayNextMonat = DatePart(DateInterval.Day, DateAdd(DateInterval.Day, -1, dDate), FirstDayOfWeek.Monday) getlastDayInMonth = iLastDayNextMonat End Function Private Sub ShowGroupBox(ByVal Auswahltyp As Enum_Datumbereich) '=============================================================================== 'Desc : Je nach Berichswal werden die entsprechenden Controls angezeigt 'Input : Auswahlty 'Kriterium : 'Updatewert : 'Output : 'Erstellt : koe 10.11.2003 'Geaendert : '=============================================================================== Try cboAnzTageVon.Visible = False cboAnzTageBis.Visible = False dpVon.Visible = False dpBis.Visible = False dpVon.Enabled = False dpBis.Enabled = False lblAuswahlBis.Visible = True lblAuswahlVon.Visible = True Select Case Auswahltyp Case Enum_Datumbereich.Von_Bis dpVon.Visible = True dpBis.Visible = True dpVon.Enabled = True dpBis.Enabled = True 'lblVonDatum.Text = dpVon.Text 'lblBisDatum.Text = dpBis.Text Case Enum_Datumbereich.Datum_Bis_Heute fillCbo(cboAnzTageBis, Now(), Enum_Filltype.Heute, False) dpVon.Visible = True dpVon.Enabled = True cboAnzTageBis.Visible = True 'lblVonDatum.Text = m_dDatumVon 'lblBisDatum.Text = m_dDatumBis Case Enum_Datumbereich.Tage_Bis_Heute fillCbo(cboAnzTageVon, Now(), Enum_Filltype.Jahr, False) fillCbo(cboAnzTageBis, Now(), Enum_Filltype.Heute, False) cboAnzTageVon.Visible = True cboAnzTageBis.Visible = True 'lblVonDatum.Text = Format(DateSerial(DatePart(DateInterval.Year, Now()), DatePart(DateInterval.Month, Now()), DatePart(DateInterval.Day, DateAdd(DateInterval.Day, -cboAnzTageVon.Value, Now()))), "dd.MM.yyyy") 'lblBisDatum.Text = Format(Now(), "dd.MM.yyyy") Case Enum_Datumbereich.Aktueller_Monat 'lblVonDatum.Text = DateSerial(DatePart(DateInterval.Year, Now()), DatePart(DateInterval.Month, Now()), 1) 'lblBisDatum.Text = DateSerial(DatePart(DateInterval.Year, Now()), DatePart(DateInterval.Month, Now()), getlastDayInMonth(Now())) fillCbo(cboAnzTageVon, Now(), Enum_Filltype.Heute, False) fillCbo(cboAnzTageBis, Now(), Enum_Filltype.Heute, False) dpVon.Visible = True dpBis.Visible = True 'lblAuswahlBis.Visible = False 'lblAuswahlVon.Visible = False Case Enum_Datumbereich.Aktueller_MonatVon_Bis fillCbo(cboAnzTageVon, Now(), Enum_Filltype.Monat, False) fillCbo(cboAnzTageBis, Now(), Enum_Filltype.Monat, True) cboAnzTageVon.Visible = True cboAnzTageBis.Visible = True End Select If cboAnzTageVon.Visible = True Then cboAnzTageVon.Splits(0).DisplayColumns(0).Width = cboAnzTageVon.Width - 20 End If If cboAnzTageBis.Visible = True Then cboAnzTageBis.Splits(0).DisplayColumns(0).Width = cboAnzTageBis.Width - 20 End If Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Sub GetDatumVon() Try Select Case cboDateRange.SelectedIndex Case Enum_Datumbereich.Von_Bis lblVonDatum.Text = m_dDatumVon Case Enum_Datumbereich.Datum_Bis_Heute lblVonDatum.Text = m_dDatumVon Case Enum_Datumbereich.Tage_Bis_Heute If (Not IsNumeric(cboAnzTageVon.Text) And Len(cboAnzTageVon.Text) > 0) Or Len(cboAnzTageVon.Text) > 4 Then MessageBox.Show(MyTxt.gettext(18), "Eingabe von Datum", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1) Exit Sub End If If cboAnzTageVon.Text <> "" Then m_dDatumVon = Format(DateAdd(DateInterval.Day, -CType(cboAnzTageVon.Text, Integer), Now()), "dd.MM.yyyy") Else m_dDatumVon = Format(DateAdd(DateInterval.Day, 0, Now()), "dd.MM.yyyy") End If lblVonDatum.Text = m_dDatumVon Case Enum_Datumbereich.Aktueller_Monat lblVonDatum.Text = Format(DateSerial(DatePart(DateInterval.Year, Now()), DatePart(DateInterval.Month, Now()), 1), "dd.MM.yyyy") Case Enum_Datumbereich.Aktueller_MonatVon_Bis If cboAnzTageVon.Text <> "" Then m_dDatumVon = Format(DateSerial(DatePart(DateInterval.Year, Now()), DatePart(DateInterval.Month, Now()), cboAnzTageVon.Text), "dd.MM.yyyy") Else m_dDatumVon = Format(DateAdd(DateInterval.Day, 0, Now()), "dd.MM.yyyy") End If lblVonDatum.Text = m_dDatumVon End Select dpVon.Text = lblVonDatum.Text Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Sub GetDatumBis() Select Case cboDateRange.SelectedIndex Case Enum_Datumbereich.Von_Bis lblBisDatum.Text = m_dDatumBis Case Enum_Datumbereich.Datum_Bis_Heute lblBisDatum.Text = m_dDatumBis Case Enum_Datumbereich.Tage_Bis_Heute m_dDatumBis = Format(DateAdd(DateInterval.Day, 0, Now()), "dd.MM.yyyy") 'If cboAnzTageBis.Text <> "" Then ' m_dDatumBis = Format(DateAdd(DateInterval.Day, -CType(cboAnzTageVon.Text, Integer), Now()), "dd.MM.yyyy") 'Else ' m_dDatumBis = Format(DateAdd(DateInterval.Day, 0, Now()), "dd.MM.yyyy") 'End If lblBisDatum.Text = m_dDatumBis Case Enum_Datumbereich.Aktueller_Monat lblBisDatum.Text = Format(DateSerial(DatePart(DateInterval.Year, Now()), DatePart(DateInterval.Month, Now()), m_iLastDayAktuellerMonat), "dd.MM.yyyy") Case Enum_Datumbereich.Aktueller_MonatVon_Bis Select Case cboAnzTageBis.SelectedIndex Case 0 'Letzter Tag Monat lblBisDatum.Text = Format(DateSerial(DatePart(DateInterval.Year, Now()), DatePart(DateInterval.Month, Now()), m_iLastDayAktuellerMonat), "dd.MM.yyyy") Case Else '0-31 lblBisDatum.Text = Format(DateSerial(DatePart(DateInterval.Year, Now()), DatePart(DateInterval.Month, Now()), cboAnzTageBis.SelectedIndex), "dd.MM.yyyy") End Select End Select dpBis.Text = lblBisDatum.Text End Sub #End Region #Region " Control Functionen " Private Sub cboDateRange_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboDateRange.Enter End Sub Private Sub cboAnzTageBis_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboAnzTageBis.Enter cboAnzTageBis.Columns(0).Caption = "" End Sub Private Sub cboAnzTageVon_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboAnzTageVon.Enter cboAnzTageVon.Columns(0).Caption = "" End Sub #End Region Private Sub cboDateRange_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboDateRange.TextChanged ShowGroupBox(cboDateRange.SelectedIndex) GetDatumVon() GetDatumBis() End Sub End Class