Imports System.Data.SqlClient Public Class frmAuswertung Public Shared dt, dt1, dt2 As DataTable Property Niederlassung As String Public Shared filialnr, filname, Info, subrep As String Property von As String = "" Property bis As String = "" Property Jahresauswertung As Boolean = False Property Einzelauswertung As Boolean = False Property Suchauswertung As Boolean = False Private Sub mcVon_DateChanged(sender As Object, e As DateRangeEventArgs) End Sub Private Sub btnAktuellesJahr_Click(sender As Object, e As EventArgs) Handles btnAktuellesJahr.Click DateVon.Value = Now.AddDays(-Now.Day + 1).AddMonths(-Now.Month + 1) DateBis.Value = Now 'Now.AddDays(-Now.Day) End Sub Private Sub btnLetztesJahr_Click(sender As Object, e As EventArgs) Handles btnLetztesJahr.Click DateVon.Value = Now.AddDays(-Now.Day + 1).AddMonths(-Now.Month + 1).AddYears(-1) DateBis.Value = DateSerial(Now.Year - 1, 13, 0) 'Now.AddDays(-Now.Day).AddMonths(-Now.Month + 1) End Sub Private Sub Panel1_Paint(sender As Object, e As PaintEventArgs) Handles Panel1.Paint End Sub Private Sub btnLetztesMonat_Click(sender As Object, e As EventArgs) Handles btnLetztesMonat.Click DateVon.Value = Now.AddDays(-Now.Day + 1).AddMonths(-1) DateBis.Value = Now.AddDays(-Now.Day) End Sub Private Sub chkAusSuchererg_CheckedChanged(sender As Object, e As EventArgs) Handles chkAusSuchererg.CheckedChanged Panel1.Enabled = Not chkAusSuchererg.Checked End Sub Private Sub btnAktMonat_Click(sender As Object, e As EventArgs) Handles btnAktMonat.Click DateVon.Value = Now.AddDays(-Now.Day + 1) DateBis.Value = Now() End Sub Private Sub chkStatSuchererg_CheckedChanged(sender As Object, e As EventArgs) Handles chkStatSuchererg.CheckedChanged End Sub Private Sub chkRechnungen_CheckedChanged(sender As Object, e As EventArgs) Handles chkRechnungen.MouseClick chkRechnungen.Checked = True chkEinzelauswertung.Checked = False chkJahresauswertung.Checked = False chkStandard.Checked = False Activinator() End Sub Private Sub chkStandard_CheckedChanged(sender As Object, e As EventArgs) Handles chkStandard.MouseClick chkStandard.Checked = True chkRechnungen.Checked = False chkEinzelauswertung.Checked = False chkJahresauswertung.Checked = False Activinator() End Sub Private Sub chkEinzelauswertung_CheckedChanged(sender As Object, e As EventArgs) Handles chkEinzelauswertung.MouseClick chkEinzelauswertung.Checked = True Einzelauswertung = chkEinzelauswertung.Checked chkStandard.Checked = False chkRechnungen.Checked = False If chkEinzelauswertung.Checked Then chkJahresauswertung.Checked = False ' subrep = "subrptEinzelauswertung" Else 'subrep = "subrptAuswertung" End If Activinator() End Sub Private Sub chkJahresauswertung_CheckedChanged(sender As Object, e As EventArgs) Handles chkJahresauswertung.MouseClick chkJahresauswertung.Checked = True chkRechnungen.Checked = False chkStandard.Checked = False Activinator() End Sub Function Activinator() If chkJahresauswertung.Checked Then PanJahr.Enabled = True PanMonat.Enabled = False Jahresauswertung = True chkEinzelauswertung.Checked = False Einzelauswertung = False Else PanJahr.Enabled = False PanMonat.Enabled = True Jahresauswertung = False End If End Function Private Sub btnAlles_Click(sender As Object, e As EventArgs) Handles btnAlles.Click DateVon.Value = Now.AddDays(-Now.Day + 1).AddMonths(-Now.Month + 1).AddYears(-Now.Year + 2000) DateBis.Value = Now.AddDays(-Now.Day) End Sub Private Sub frmAuswertung_Load(sender As Object, e As EventArgs) Handles MyBase.Load 'subrep = "subrptAuswertung" If Niederlassung = "4807" Then cbStandort.SelectedItem = "4807 - Verag Suben" ElseIf Niederlassung = "4819" Then cbStandort.SelectedItem = "4819 - Verag Neuhaus" End If PanJahr.Enabled = False PanMonat.Enabled = True For j As Integer = Now.Year.ToString To 2010 Step -1 cboVon.Items.Add(j) cboBis.Items.Add(j) Next cboVon.SelectedItem = Now.AddYears(-4).Year cboBis.SelectedItem = Now.AddYears(-1).Year 'DateVon.Value = Now.AddDays(-Now.Day + 1).AddMonths(-Now.Month + 1) 'DateBis.Value = Now.AddDays(-Now.Day) DateVon.Value = Now.AddDays(-Now.Day + 1).AddMonths(-1) DateBis.Value = Now.AddDays(-Now.Day) If chkAusSuchererg.Checked Then DateVon.Value = von : DateBis.Value = bis : btnAuswertung.PerformClick() : Me.Close() If chkStatSuchererg.Checked Then DateVon.Value = von : DateBis.Value = bis : btnAuswertung.PerformClick() : Me.Close() End Sub Private Sub btnAuswertung_Click(sender As Object, e As EventArgs) Handles btnAuswertung.Click ReturnFilialnr() von = DateVon.Value.ToString("dd.MM.yyyy") bis = DateBis.Value.ToString("dd.MM.yyyy") filname = cbStandort.SelectedItem If chkRechnungen.Checked Then Dim printding As New frmPrintActiveReports Dim vpasql As New VERAG_PROG_ALLGEMEIN.SQL dt = vpasql.loadDgvBySql(String.Format(cAbfragen.Rechnungen, filialnr, DateVon.Value.ToShortDateString, DateBis.Value.ToShortDateString), "VERAG") dt2 = vpasql.loadDgvBySql(String.Format(cAbfragen.Vorkosten, filialnr, DateVon.Value.ToShortDateString, DateBis.Value.ToShortDateString), "VERAG") dt.Columns.Add("Vorkosten", GetType(String)) ''dt.Merge(dt2) For i = 0 To dt.Rows.Count - 1 dt.Rows(i).Item("Vorkosten") = dt2.Rows(i).Item("Vorkosten") Next subrep = "subrptAuswertung" printding.Reporter = "Auswertung" printding.von = von printding.bis = bis printding.filname = cbStandort.SelectedItem printding.Show() ElseIf chkStandard.Checked = True Then Dim printding As New frmPrintActiveReports Dim vpasql As New VERAG_PROG_ALLGEMEIN.SQL dt = vpasql.loadDgvBySql(String.Format(cAbfragen.Standardauswertung, filialnr, DateVon.Value.ToShortDateString, DateBis.Value.ToShortDateString), "VERAG") dt2 = vpasql.loadDgvBySql(String.Format(cAbfragen.VorkostenStandardauswertung, filialnr, DateVon.Value.ToShortDateString, DateBis.Value.ToShortDateString), "VERAG") dt.Columns.Add("Vorkosten", GetType(String)) ''dt.Merge(dt2) For i = 0 To dt.Rows.Count - 1 dt.Rows(i).Item("Vorkosten") = dt2.Rows(i).Item("Vorkosten") Next subrep = "subrptAuswertung" printding.Reporter = "Auswertung" printding.von = von printding.bis = bis printding.filname = cbStandort.SelectedItem printding.Show() Else Auswertung_old() End If End Sub Public Function Auswertung_old() Dim printauswertung As New frmPrintActiveReports If cboBis.SelectedItem = Now.Year And chkJahresauswertung.Checked Then If MsgBox("Achtung! Das Jahr " & cboBis.SelectedItem & " wird nicht vollständig ausgewertet!", MsgBoxStyle.OkCancel) = MsgBoxResult.Cancel Then Exit Function Else Info = cboBis.SelectedItem End If End If Dim sql, database As String If Jahresauswertung = False And chkEinzelauswertung.Checked = True Then 'MsgBox("EInzel") subrep = "subrptEinzelauswertung" database = "VERAG" von = DateVon.Value.ToString("dd.MM.yyyy") bis = DateBis.Value.ToString("dd.MM.yyyy") sql = String.Format(cAbfragen.Einzelauswertung, filialnr, von, bis) ElseIf Jahresauswertung = True Then database = "VERAG" ' MsgBox("Jahresauswertung") subrep = "subrptAuswertung" von = DateVon.Value.ToString("01.01" & "." & cboVon.Text) 'cboVon.SelectedItem) bis = DateBis.Value.ToString("31.12" & "." & cboBis.Text) 'cboBis.SelectedItem) printauswertung.whatshallwedo = "Jahresauswertung" sql = String.Format(cAbfragen.Jahresauwertung, filialnr, von, bis) ElseIf chkAusSuchererg.Checked Then database = "VERAG" 'MsgBox("aussuch") subrep = "subrptEinzelauswertung" 'DateVon.Value = usrcntlAuftraege.von 'DateBis.Value = usrcntlAuftraege.bis Suchauswertung = True sql = usrcntlAuftraege.SQLAuswerungAusAnsicht ElseIf chkStatSuchererg.Checked Then database = "VERAG" ' MsgBox("stat") Suchauswertung = True subrep = "subrptEinzelStat" sql = usrcntlAuftraege.SQLStatAusAnsicht Else ''MsgBox("norm") 'database = "VERAG" 'subrep = "subrptAuswertung" 'von = DateVon.Value.ToString("dd.MM.yyyy") 'bis = DateBis.Value.ToString("dd.MM.yyyy") 'sql = String.Format(cAbfragen.Standardauswertung, filialnr, von, bis) End If Dim vpasql As New VERAG_PROG_ALLGEMEIN.SQL dt = vpasql.loadDgvBySql(sql, database) 'dt = RemoveDuplicateRows(dt, "atr_frachtpos") printauswertung.von = von printauswertung.bis = bis printauswertung.filname = cbStandort.SelectedItem printauswertung.Reporter = "Auswertung" printauswertung.Show() End Function Public Function ReturnFilialnr() If cbStandort.SelectedItem = "4807 - Verag Suben" Then filialnr = "4807" ElseIf cbStandort.SelectedItem = "4819 - Verag Neuhaus" Then filialnr = "4819" End If Return filialnr End Function Public Function RemoveDuplicateRows(ByVal dTable As DataTable, ByVal colName As String) As DataTable Dim hTable As Hashtable = New Hashtable() Dim duplicateList As ArrayList = New ArrayList() For Each drow As DataRow In dTable.Rows If hTable.Contains(drow(colName)) Then duplicateList.Add(drow) Else hTable.Add(drow(colName), String.Empty) End If Next For Each dRow As DataRow In duplicateList dTable.Rows.Remove(dRow) Next Return dTable End Function End Class