Imports System.Reflection Public Class frmGesamtsicherheitenMenu ' Public Zollsatz As Integer = 0 ' Public ZollsatzMulti As Double = 0 ' Public Referenzwert As Integer = 0 ' Public UstEnabled As Boolean = False 'Public Ust As Integer ' Public Saldo As Integer = 0 Public SQL As New VERAG_PROG_ALLGEMEIN.SQL 'Dim GesSichRef As New cGesamtSicherheitsReferenz Dim GesSichRef As VERAG_PROG_ALLGEMEIN.cGesamtsicherheitsReferenz 'Public ATR As Boolean = False Public Property Standort As String = "" Private Sub frmGesamtsicherheiten_Menu_Load(sender As Object, e As EventArgs) Handles MyBase.Load Me.Text = "Gesamtsicherheiten " & Standort frmHauptfenster.EnableDoubleBuffered(dgvListe) GesSichRef = New VERAG_PROG_ALLGEMEIN.cGesamtsicherheitsReferenz(Standort) 'GesSichRef.LOAD("standort", Standort) lblSaldo.Text = "Saldo: €" & Decimal.Parse(GesSichRef.CalcSaldo()).ToString("N") txtVon._ShortDateOnly = True txtbis._ShortDateOnly = True txtVon.Text = Date.Today.AddDays(-30).ToString("dd.MM.yyyy") txtbis.Text = Date.Today.ToString("dd.MM.yyyy") 'ShowStandort() LoadDGV() End Sub Public Function LoadDGV() Dim sqladdon As String = "" If chkOffen.Checked Then sqladdon &= " AND gs_Sicherheitssaldo != '0,00 €'" ' Dim sqlstring As String = "select * from (Select GesamtsichNr, MIN(Standort) as Standort, MIN(FilialNummer) as FilialNummer, min(Abfertigungsnummer) as Abfertigungsnummer, 'max(LKWID) as LKWID, min (MakeDate) as Datum, FORMAT(SUM( 'Case ' when Art = 'Open' then (Sicherheitsbetrag * -1) ' when Art = 'Close' then Sicherheitsbetrag 'End) , 'C', 'de-DE') As SicherheitsSaldo 'From [tblGesamtsicherheit] 'Group by GesamtsichNr) as Temp ' Where Standort = '" & Standort & "' '" & sqladdon & " 'order by GesamtsichNr" Dim sqlstring As String = " select * from (Select gs_gsNr as gs_gsnr, MIN(gs_standort) as gs_standort, MIN(gs_filialNr) as gs_filialNr, min(gs_abfertigungsNr) as gs_abfertigungsNr, max(gs_LKWID) as gs_LKWID, min (gs_datum) as gs_datum, FORMAT(SUM( Case when gs_art = 'Open' then (gs_sicherheitsbetrag * -1) when gs_art = 'Close' then gs_sicherheitsbetrag End) , 'C', 'de-DE')As gs_SicherheitsSaldo From (select * from (select gs_gsNr as ding from [tblGesamtsicherheit] where gs_freitext like '%" & txtSuchbegriff.Text & "%' OR gs_abfertigungsNr like '%" & txtSuchbegriff.Text & "%' OR gs_kennNr like '%" & txtSuchbegriff.Text & "%' OR gs_LKWID like '%" & txtSuchbegriff.Text & "%' ) as tb1 left join [tblGesamtsicherheit] as tb2 on tb1.ding = tb2.gs_gsNr) as meh group by gs_gsNr) as meh2 Where gs_standort = '" & Standort & "' " & sqladdon & " AND gs_datum > '" & Date.Parse(txtVon.Text) & "' AND gs_datum < '" & Date.Parse(txtbis.Text).AddDays(1).AddSeconds(-1) & "'" dgvListe.SET_SQL(sqlstring, "AVISO") dgvListe.LOAD() With dgvListe .SelectionMode = DataGridViewSelectionMode.FullRowSelect .RowHeadersWidth = 6 .Columns("gs_standort").Visible = False .Columns("gs_gsnr").HeaderText = "#" .Columns("gs_gsnr").Width = 36 .Columns("gs_filialNr").HeaderText = "Filiale" .Columns("gs_filialNr").Width = 43 .Columns("gs_abfertigungsNr").HeaderText = "Abfert.Nr." .Columns("gs_abfertigungsNr").Width = 107 .Columns("gs_datum").Width = 112 .Columns("gs_SicherheitsSaldo").Width = 96 End With For Each row As DataGridViewRow In dgvListe.Rows If row.Cells("gs_SicherheitsSaldo").Value <> 0 Then row.DefaultCellStyle.BackColor = Color.Red Else row.DefaultCellStyle.BackColor = Color.Green End If Next End Function Public Sub ShowStandort() 'lblReferenzwert.Text = "Referenzwert: €" & GesSichRef.gsr_referenzwert.ToString("N") lblReferenzwert.Text = "Referenzwert: €" & GesSichRef.gsr_referenzwert.ToString() lblZollsatz.Text = "Zollsatz: " & GesSichRef.gsr_zollsatz & "%" lblSaldo.Text = "Saldo: €" & Decimal.Parse(GesSichRef.CalcSaldo()).ToString("N") End Sub Private Sub OpenFRM(sender As Object, e As DataGridViewCellEventArgs) Handles dgvListe.CellDoubleClick Dim frm As New frmGesamtsicherheiten With frm .GesSichRef = GesSichRef .gessicherheitID = dgvListe.CurrentRow.Cells("gs_gsnr").Value .Standort = Me.Standort .datum = dgvListe.CurrentRow.Cells("gs_datum").Value .LKWID = dgvListe.CurrentRow.Cells("gs_LKWID").Value .FilialNummer = dgvListe.CurrentRow.Cells("gs_filialNr").Value .Abfertigungsnummer = dgvListe.CurrentRow.Cells("gs_abfertigungsNr").Value End With AddHandler frm.FormClosing, Function() GesSichRef.CalcSaldo() ShowStandort() LoadDGV() Me.BringToFront() End Function frm.Show() End Sub Private Sub btnNeu_Click(sender As Object, e As EventArgs) Handles btnNeu.Click Dim frm As New frmGesamtsicherheiten With frm .GesSichRef = GesSichRef .Standort = Me.Standort .datum = Date.Now '.ATR = GesSichRef.ATR '.Ust = GesSichRef.Ust '.UstEnabled = GesSichRef.UstEnabled .Neu = True End With AddHandler frm.FormClosing, Function() GesSichRef.CalcSaldo() ShowStandort() LoadDGV() Me.BringToFront() End Function frm.Show() End Sub Private Sub lblSaldo_Click(sender As Object, e As EventArgs) Handles lblSaldo.Click lblSaldo.Text = "Saldo: €" & Decimal.Parse(GesSichRef.CalcSaldo()).ToString("N") LoadDGV() End Sub Private Sub chkOffen_CheckedChanged(sender As Object, e As EventArgs) Handles chkOffen.CheckedChanged, txtSuchbegriff.TextChanged If Me.Visible Then LoadDGV() End Sub Private Sub Keypresses(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles txtSuchbegriff.KeyPress Select Case Asc(e.KeyChar) Case 48 To 57, 8, 46, 58, 32, 44, 65 To 90, 97 To 122 ' Zahlen, Backspace, . und : zulassen Case Else ' alle anderen Eingaben unterdrücken e.Handled = True End Select End Sub Private Sub FlatButton1_Click(sender As Object, e As EventArgs) Handles FlatButton1.Click txtSuchbegriff.Text = "" : chkOffen.Checked = True txtVon.Text = Date.Today.AddDays(-30).ToString("dd.MM.yyyy") txtbis.Text = Date.Today.ToString("dd.MM.yyyy") End Sub Private Sub MyTextBox1_TextChanged(sender As Object, e As EventArgs) End Sub Private Sub btnSucheStarten_Click(sender As Object, e As EventArgs) Handles btnSucheStarten.Click Try Date.Parse(txtVon.Text) Date.Parse(txtbis.Text) If Me.Visible Then LoadDGV() Catch ex As Exception MsgBox("Datum VON und/oder BIS konnte nicht konvertiert werden.") End Try End Sub Private Sub FlatButton2_Click(sender As Object, e As EventArgs) Handles FlatButton2.Click txtVon.Text = Date.Parse("01.01.1970") txtbis.Text = Date.Today.ToString("dd.MM.yyyy") End Sub Private Sub ExportCSVToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ExportCSVToolStripMenuItem.Click csvexport(dgvListe) End Sub Public Shared Function csvexport(quelldgv As DataGridView) Dim savefiledialog As New SaveFileDialog Dim firstin As String Dim out As String Dim in2 As String Dim header As String savefiledialog.Filter = "CSV files (*.csv)|*.CSV" savefiledialog.InitialDirectory = "C:\Verag" savefiledialog.ShowDialog() Try For r As Integer = 0 To quelldgv.Rows.Count - 1 For c As Integer = 0 To quelldgv.Columns.Count 'test &= r & c & vbCrLf Try 'test &= Replace(quelldgv.Rows(r).Cells(c).Value.ToString, vbCrLf, "vbCrlLf") firstin = quelldgv.Rows(r).Cells(c).Value.ToString 'in2 = """" & firstin & """" & ";" in2 = firstin & ";" out &= Replace(in2, vbCrLf, "##vbCrLf##") Catch ex As Exception out &= "" End Try Next out &= "nZ" Next For c As Integer = 0 To quelldgv.Columns.Count - 1 header &= quelldgv.Columns(c).Name & ";" Next out = Replace(out, "nZ", vbCrLf) 'MsgBox(out) Using sw As New IO.StreamWriter(savefiledialog.FileName) sw.WriteLine(header) sw.WriteLine(out) End Using Catch ex As Exception MsgBox(ex.Message) End Try End Function End Class 'Public Class cGesamtSicherheitsReferenz ' Public SQL As New VERAG_PROG_ALLGEMEIN.SQL ' Property Zollsatz As Integer = 0 ' Property ZollsatzMulti As Double = 0 ' Property Referenzwert As Double = 0 ' Property UstEnabled As Boolean = False ' Property Ust As Integer ' Property Saldo As Double = 0 ' Property ATR As Boolean = False ' Property Standort As String = "" ' Public Sub LoadStandort(_Standort As String) ' 'Dim StandortSqlString As String = "select * from [tblGesamtsicherheitReferenz] where Standort = " & "'" & _Standort & "'" ' Dim StandortSqlString As String = "select * from [tblGesamtsicherheitReferenz] where gsr_standort = " & "'" & _Standort & "'" ' Dim dt As New DataTable ' dt = SQL.loadDgvBySql(StandortSqlString, "AVISO", 100, True) ' 'Zollsatz = dt.Rows(0).Item("Zollsatz") ' Zollsatz = dt.Rows(0).Item("gsr_zollsatz") ' 'Referenzwert = dt.Rows(0).Item("Referenzwert") ' Referenzwert = dt.Rows(0).Item("gsr_referenzwert") ' UstEnabled = dt.Rows(0).Item("gsr_ustEnabled") ' 'UstEnabled = dt.Rows(0).Item("UstEnabled") ' Ust = dt.Rows(0).Item("gsr_ust") ' 'Ust = dt.Rows(0).Item("Ust") ' ATR = dt.Rows(0).Item("gsr_ATR") ' 'ATR = dt.Rows(0).Item("ATR") ' ZollsatzMulti = Zollsatz / 100 ' Saldo = dt.Rows(0).Item("gsr_aktSaldo") ' 'Saldo = dt.Rows(0).Item("aktSaldo") ' Standort = _Standort ' End Sub ' Public Function CalcSaldo() As String ' Dim SaldoString As String = ' "select SUM( ' case ' when gs_art = 'Open' then (gs_sicherheitsbetrag * -1) ' when gs_art = 'Close' then gs_sicherheitsbetrag ' end) as SicherheitsSaldo ' from [tblGesamtsicherheit] Where gs_standort = '" & Standort & "'" ' Dim dt As New DataTable ' Dim mrn As Double = 0 ' dt = SQL.loadDgvBySql(SaldoString, "AVISO", 100, True) ' If dt.Rows(0).Item(0).ToString.Length > 0 Then ' mrn = dt.Rows(0).Item(0) ' End If ' Saldo = Referenzwert + mrn ' updateSaldo() ' Return Saldo ' End Functio ' Public Function updateSaldo() ' SQL.doSQL("Update [tblGesamtsicherheitReferenz] Set gsr_aktSaldo = '" & Saldo & "' WHERE gsr_Standort = '" & Standort & "'", "AVISO") ' End Function 'End Class