Imports System.ComponentModel Imports GrapeCity Imports VERAG_PROG_ALLGEMEIN Public Class usrCntlAPI Dim MONAT As Date = CDate("01." & Now.Month & "." & Now.Year) '.AddMonths(-1) Dim srcTAG As Date = CDate(Now.ToShortDateString) Dim JAHR As Date = CDate("01.01." & Now.Year) Private Sub usrCntlAPI_Load(sender As Object, e As EventArgs) Handles Me.Load txtAbfertDat.Text = Now.ToShortDateString 'CDate("01." & Now.ToString("MM.yyyy")).AddMonths(-1).txtAbfertDatBisToShortDateString txtAbfertDatBis.Text = Now.ToShortDateString btnMonat.Text = MONAT.ToString("MMMM") btnJahr.Text = JAHR.Year kdtxtKunde.initKdBox(Me.FindForm) ' initKdAbsender() cboFiliale.fillWithSQL("SELECT FilialenNr, Grenzstelle FROM Filialen WHERE Fil_Status='A' ORDER BY FilialenNr ", True, "FMZOLL", True) cboDatum.Items.Clear() cboDatum.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("API-Datum", "ADat")) cboDatum.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Durchführungsdatum", "DDat")) cboDatum.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Error-Datum", "EDat")) cboDatum.changeItem("EDat") cboInOut.Items.Clear() cboInOut.fillWithSQL("SELECT distinct([api_InOut]) FROM [tblAPI] ", False, "ADMIN", True) 'cboInOut.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", "")) 'cboInOut.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("IN", VERAG_PROG_ALLGEMEIN.cAPI_INOUT.IN)) 'cboInOut.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("OUT", VERAG_PROG_ALLGEMEIN.cAPI_INOUT.OUT)) 'cboInOut.changeItem("") cboType.Items.Clear() cboType.fillWithSQL("SELECT distinct(api_Type) FROM [tblAPI] ", False, "ADMIN", True) 'cboType.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", "")) 'cboType.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FTP", VERAG_PROG_ALLGEMEIN.cAPI_Type.FTP)) 'cboType.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("MAIL", VERAG_PROG_ALLGEMEIN.cAPI_Type.MAIL)) 'cboType.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("REST", VERAG_PROG_ALLGEMEIN.cAPI_Type.REST)) 'cboType.changeItem("") cboAPIArt.Items.Clear() cboAPIArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", "")) cboAPIArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AVISO_OUT_STATUSMAIL", VERAG_PROG_ALLGEMEIN.cAPI_ART.AVISO_OUT_STATUSMAIL)) cboAPIArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AVISO_OUT_BELEGMAIL", VERAG_PROG_ALLGEMEIN.cAPI_ART.AVISO_OUT_BELEGMAIL)) cboAPIArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG_OUT_EZA", VERAG_PROG_ALLGEMEIN.cAPI_ART.VERAG_OUT_EZA)) cboAPIArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG_OUT_NCTS", VERAG_PROG_ALLGEMEIN.cAPI_ART.VERAG_OUT_NCTS)) cboAPIArt.changeItem("") End Sub Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged txtAbfertDat._value = CDate(sender.value).ToShortDateString End Sub Private Sub DateTimePicker2_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker2.ValueChanged txtAbfertDatBis._value = CDate(sender.value).ToShortDateString End Sub Private Sub btnMonat_Click(sender As Object, e As EventArgs) Handles btnMonat.Click initBtns("Monat") End Sub Sub initBtns(MonatJahr) btnMonat.Text = MONAT.ToString("MMMM") btnJahr.Text = JAHR.Year Select Case MonatJahr Case "Monat" DateTimePicker1.Value = MONAT DateTimePicker2.Value = MONAT.AddMonths(1).AddDays(-1) Case "Jahr" DateTimePicker1.Value = JAHR DateTimePicker2.Value = JAHR.AddYears(1).AddDays(-1) Case "Tag" DateTimePicker1.Value = srcTAG DateTimePicker2.Value = srcTAG If srcTAG = Now.ToShortDateString Then Button5.Text = "Heute" ElseIf srcTAG = Now.AddDays(-1).ToShortDateString Then Button5.Text = "Gestern" ElseIf srcTAG = Now.AddDays(-2).ToShortDateString Then Button5.Text = "Vorgestern" Else Button5.Text = srcTAG.ToString("dd.MM") End If 'End If Case "" DateTimePicker1.Value = ("01." & Now.Month & "." & Now.Year) DateTimePicker2.Value = Now End Select End Sub Private Sub btnJahr_Click(sender As Object, e As EventArgs) Handles btnJahr.Click initBtns("Jahr") End Sub Private Sub btnBisMonat_Click(sender As Object, e As EventArgs) Handles btnBisMonat.Click MONAT = MONAT.AddMonths(1) initBtns("Monat") End Sub Private Sub btnVonMonat_Click(sender As Object, e As EventArgs) Handles btnVonMonat.Click MONAT = MONAT.AddMonths(-1) initBtns("Monat") End Sub Private Sub btnBisJahr_Click(sender As Object, e As EventArgs) Handles btnBisJahr.Click JAHR = JAHR.AddYears(1) initBtns("Jahr") End Sub Private Sub btnVonJahr_Click(sender As Object, e As EventArgs) Handles btnVonJahr.Click JAHR = JAHR.AddYears(-1) initBtns("Jahr") End Sub Private Sub btnSuche_Click(sender As Object, e As EventArgs) Handles btnSuche.Click Me.Cursor = Cursors.WaitCursor Dim sqlstr As String = "" Dim TopMax = If(IsNumeric(txtMaxSrch.Text), " TOP " & txtMaxSrch.Text, "") sqlstr &= "SELECT " & TopMax & " api_id,[api_datetime],[api_progName],[api_Type],[api_Partnersystem], api_apiArt,api_apiUArt,[api_apiZollStatus],[api_InOut],[api_status],[api_fehlversuch],[api_progVersion],[api_EMail],[api_filepathSource],[api_filepathDestination],[api_Firma],[api_Username],[api_Vorsystem],[api_KundenNr],[api_AvisoId],[api_SendungsId],[api_FilialenNr],[api_AbfertigungsNr],[api_BezugsNr],[api_Zollbelegnummer],[api_finTstmp] FROM [tblAPI] WHERE 1=1 " With DataGridView ' .DataSource = myTable .SET_SQL(sqlstr & getAPIDatumWhere() & " ORDER BY api_datetime DESC", "ADMIN", getAPIList) .LOAD() If .RowCount = 0 Then Me.Cursor = Cursors.Default : Exit Sub .RowHeadersVisible = False .ReadOnly = True .SelectionMode = DataGridViewSelectionMode.FullRowSelect .MultiSelect = False .Columns("api_id").Visible = False For Each cc As DataGridViewColumn In .Columns cc.HeaderText = cc.Name.Replace("api_", "") Next '.Columns("FilialenNr").Width = 45 '.Columns("FilialenNr").HeaderText = "Filiale" '.Columns("FilialenNr").HeaderCell.Style.Alignment = DataGridViewContentAlignment.TopCenter '.Columns("FilialenNr").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter '.Columns("AbfertigungsNr").Width = 70 '.Columns("AbfertigungsNr").HeaderText = "Abf-Nr" '.Columns("AbfertigungsNr").HeaderCell.Style.Alignment = DataGridViewContentAlignment.TopCenter '.Columns("AbfertigungsNr").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter '.Columns("UnterNr").Width = 45 '.Columns("UnterNr").HeaderCell.Style.Alignment = DataGridViewContentAlignment.TopCenter '.Columns("UnterNr").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter '.Columns("Abfertigungsdatum").Width = 100 '.Columns("Abfertigungsdatum").HeaderText = "Abf-Dat." '.Columns("Abfertigungsdatum").HeaderCell.Style.Alignment = DataGridViewContentAlignment.TopCenter '.Columns("Abfertigungsdatum").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter lblErgebnis.Text = "Ergebnisse: " & .RowCount End With Me.Cursor = Cursors.Default End Sub Function getAPIDatumWhere() As String Dim sqlstr = "" If kdtxtKunde.Text <> "" And IsNumeric(kdtxtKunde.Text) Then sqlstr &= " AND [api_KundenNr] LIKE @Kunde " If cboDatum._value = "ADat" Then If txtAbfertDat.Text <> "" Then If txtAbfertDatBis.Text <> "" Then sqlstr &= " AND ([api_datetime] BETWEEN @Datum_von AND @Datum_bis ) " Else sqlstr &= " AND ([api_datetime] BETWEEN @Datum_von AND @Datum_von ) " End If End If ElseIf cboDatum._value = "DDat" Then If txtAbfertDat.Text <> "" Then If txtAbfertDatBis.Text <> "" Then sqlstr &= " AND ([api_finTstmp] BETWEEN @Datum_von AND @Datum_bis ) " Else sqlstr &= " AND ([api_finTstmp] BETWEEN @Datum_von AND @Datum_von ) " End If End If ElseIf cboDatum._value = "EDat" Then If txtAbfertDat.Text <> "" Then If txtAbfertDatBis.Text <> "" Then sqlstr &= " AND ([api_errTstmp] BETWEEN @Datum_von AND @Datum_bis ) " Else sqlstr &= " AND ([api_errTstmp] BETWEEN @Datum_von AND @Datum_von ) " End If End If End If If txtAbfertigungsnummer.Text <> "" Then If txtAbfertigungsnummerBis.Text <> "" Then sqlstr &= " AND ([api_AbfertigungsNr] BETWEEN @AbfertigungsNr AND @AbfertigungsNr_bis) " Else sqlstr &= " AND [api_AbfertigungsNr] LIKE @AbfertigungsNr " End If End If If cboFiliale._value <> "" Then sqlstr &= " AND [api_FilialenNr] LIKE @FilialenNr " If txtAPIUArt.Text <> "" Then sqlstr &= " AND [api_apiUArt] LIKE @UArt " If cboAPIArt._value <> "" Then sqlstr &= " AND [api_apiArt] LIKE @APIArt " If cboType._value <> "" Then sqlstr &= " AND [api_Type] LIKE @APIType " If cboInOut._value <> "" Then sqlstr &= " AND [api_InOut] LIKE @APIInOut " If txtAvisoId.Text <> "" Then sqlstr &= " AND [api_AvisoId] LIKE @AvisoId " If txtSendungsId.Text <> "" Then sqlstr &= " AND [api_SendungsId] LIKE @SendungsId " If txtZollBelegNr.Text <> "" Then sqlstr &= " AND [api_Zollbelegnummer] LIKE @ZollBelegNr " If txtBezugsNr.Text <> "" Then sqlstr &= " AND [api_BezugsNr] LIKE @BezugsNr " Return sqlstr End Function Function getAPIList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kunde", kdtxtKunde.KdNr_value)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Datum_von", txtAbfertDat.Text & " 00:00:00")) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Datum_bis", txtAbfertDatBis.Text & " 23:59:59")) If txtAbfertigungsnummerBis.Text <> "" Then list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", txtAbfertigungsnummer.Text.Replace("*", ""))) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr_bis", txtAbfertigungsnummerBis.Text.Replace("*", ""))) Else list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", txtAbfertigungsnummer.Text.Replace("*", "%"))) End If list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", cboFiliale._value)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UArt", txtAPIUArt.Text.Replace("*", "%").ToUpper)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("APIArt", cboAPIArt._value)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("APIType", cboType._value)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("APIInOut", cboInOut._value)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AvisoId", txtAvisoId.Text)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SendungsId", txtSendungsId.Text)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ZollBelegNr", txtZollBelegNr.Text.Replace("*", "%").ToUpper)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BezugsNr", txtBezugsNr.Text.Replace("*", "%").ToUpper)) Return list End Function Private Sub txtAbfertigungsnummer_TextChanged(sender As Object, e As EventArgs) Handles txtAbfertigungsnummer.TextChanged txtAbfertigungsnummerBis.Enabled = (txtAbfertigungsnummer.Text <> "") End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click End Sub End Class