Imports System.Windows.Forms Public Class frmAvisoAnfuegen Public AvisoId = -1 Public SendungsId = -1 Public Bezeichnung = "" Public PDF_MAIL = "" Public ATT As List(Of String) Sub New(Bezeichnung) ' Dieser Aufruf ist für den Designer erforderlich. InitializeComponent() Me.Bezeichnung = Bezeichnung ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. End Sub Private Sub frmAvisoAnfügen_Load(sender As Object, e As EventArgs) Handles Me.Load txtBezeichnung.Text = Bezeichnung txtSrchDat.Text = Now.AddMonths(-1).ToShortDateString cboFiliale.fillWithSQL("SELECT FilialenNr, Grenzstelle FROM Filialen WHERE Fil_Status='A' ORDER BY FilialenNr ", True, "FMZOLL", True) txtLKWNr.Focus() cboArt.Items.Clear() cboArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", "")) cboArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ATR-EUR1", "ATR-EUR1")) cboArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Rechnung", "Rechnung")) cboArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("CMR", "CMR")) cboArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Ausfuhr", "Ausfuhr")) cboArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Vorpapier", "Vorpapier")) cboArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Packliste", "Packliste")) cboArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Auftrag", "Auftrag")) cboArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Auftrag", "Auftrag")) cboArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Dispoliste", "Dispoliste")) cboArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Vorkasse", "Vorkasse")) cboArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Überweisungsbeleg", "Überweisungsbeleg")) cboArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Vollmacht", "Vollmacht")) cboArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ATB-Nr", "ATB")) cboArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ATA-Nr", "ATA")) cboArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Sonstiges", "Sonstiges")) initAttachment() End Sub Sub initAttachment() dgvAnhaenge.Rows.Clear() If ATT.Count = 0 Then btnSaveAttachments.Enabled = False Else btnSaveAttachments.Enabled = CheckBox1.Checked For Each a In ATT Dim display = a If a.Contains("\") Then Dim sp = a.Split("\") display = sp(sp.Count - 1) End If dgvAnhaenge.Rows.Add({display}) Next End If dgvAnhaenge.ClearSelection() End Sub Private Sub txtLKWNr_TextChanged(sender As Object, e As KeyEventArgs) Handles txtLKWNr.KeyDown, txtAbfertigungsnummer.KeyDown, cboFiliale.KeyDown If e.KeyCode = Keys.Return Then initSrch() End Sub Private Sub cboFiliale_TextChanged(sender As Object, e As EventArgs) Handles cboFiliale.SelectedIndexChanged initSrch() End Sub Sub initSrch() Try UseWaitCursor = True With dgvAviso .Columns.Clear() Dim firma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA If firma = "" Then firma = "VERAG" If VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER <> "" Then firma = " AND ( FIRMA='" & firma & "' OR CLUSTER='" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "' ) " Else firma = " AND FIRMA='" & firma & "' " End If Dim sql = "SELECT TOP 10 AvisoID, Grenzstelle as Grenze, Datum, LKW_Nr,Auftraggeber,Frächter,Firma FROM Aviso left join tblSendungen on tblSnd_AvisoID=AvisoID WHERE status <>2 " & firma & " " If IsDate(txtSrchDat.Text) Then sql &= " AND Datum > '" & CDate(txtSrchDat.Text).ToShortDateString & "'" If txtLKWNr.Text <> "" Then sql &= " AND LKW_Nr LIKE '%" & txtLKWNr.Text & "%'" If cboFiliale._value <> "" Then sql &= " AND FilialenNr LIKE '%" & cboFiliale._value & "%'" If txtAbfertigungsnummer.Text <> "" Then sql &= " AND AbfertigungsNr LIKE '" & txtAbfertigungsnummer.Text.Replace("*", "%") & "'" sql &= " group by AvisoID, Grenzstelle, Datum, LKW_Nr,Auftraggeber,Frächter,Firma " sql &= " order by datum desc" .SET_SQL(sql, "AVISO") .LOAD() .Columns("AvisoId").Visible = False .AutoSizeColumnsMode = Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill .Columns("Grenze").Width = 40 .Columns("Datum").Width = 80 If .Rows.Count = 1 Then .Rows(0).Selected = True txtBezeichnung.Focus() End If End With Catch ex As Exception MsgBox(ex.Message & ex.StackTrace) End Try UseWaitCursor = False End Sub Sub initSrchSnd(AvisoId) Try UseWaitCursor = True With dgvSendungen .Columns.Clear() If AvisoId <= 0 Then Exit Sub Dim firma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA If firma = "" Then firma = "VERAG" Dim sql = "SELECT [tblSnd_SendungID],[FilialenNr],[AbfertigungsNr],[tblSnd_Absender] as Absender,[tblSnd_Empfaenger] as Empfänger,[tblSnd_Auftraggeber] as Auftraggeber,[tblSnd_Colli] as Colli,[tblSnd_Gewicht] as Gewicht,[tblSnd_FremdspeditionText] as Fremd " sql &= " FROM [tblSendungen] where tblSnd_AvisoID=" & AvisoId .SET_SQL(sql, "AVISO") .LOAD() .Columns("tblSnd_SendungID").Visible = False .AutoSizeColumnsMode = Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill .Columns("FilialenNr").Width = 35 .Columns("AbfertigungsNr").Width = 55 .Columns("Colli").Width = 40 .Columns("Gewicht").Width = 55 .Columns("Empfänger").Width = 100 .Columns("Fremd").Width = 45 '.Columns("Grenze").Width = 40 ' .Columns("Datum").Width = 80 'If .Rows.Count = 1 Then ' .Rows(0).Selected = True ' txtBezeichnung.Focus() 'End If .ClearSelection() If cboFiliale._value <> "" AndAlso txtAbfertigungsnummer.Text <> "" Then For Each r As DataGridViewRow In .Rows If r.Cells("FilialenNr").Value = cboFiliale._value And r.Cells("AbfertigungsNr").Value = txtAbfertigungsnummer.Text Then r.Selected = True End If Next End If End With Catch ex As Exception MsgBox(ex.Message & ex.StackTrace) End Try UseWaitCursor = False End Sub Private Sub btn_Click(sender As Object, e As EventArgs) Handles btnSaveAttachments.Click, bttnSaveMail.Click lblErr_Bezeichnung.Visible = False lblErr_Aviso.Visible = False If dgvAviso.SelectedRows.Count > 0 Then If txtBezeichnung.Text.Trim = "" Then lblErr_Bezeichnung.Visible = True Me.DialogResult = Windows.Forms.DialogResult.None : Exit Sub End If Me.AvisoId = dgvAviso.SelectedRows(0).Cells("AvisoId").Value If dgvSendungen.SelectedRows.Count > 0 Then Me.SendungsId = dgvSendungen.SelectedRows(0).Cells("tblSnd_SendungID").Value Else Me.SendungsId = -1 End If If sender Is btnSaveAttachments Then PDF_MAIL = "PDF" If sender Is bttnSaveMail Then PDF_MAIL = If(CheckBox1.Checked, If(cbx.Checked, "PDFMAIL", "MAIL"), "ONLYMAIL") Bezeichnung = txtBezeichnung.Text Me.DialogResult = Windows.Forms.DialogResult.OK Else lblErr_Aviso.Visible = True Me.DialogResult = Windows.Forms.DialogResult.None End If End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click initSrch() End Sub Private Sub dgvAviso_DoubleClick(sender As Object, e As EventArgs) Handles dgvAviso.DoubleClick If dgvAviso.SelectedRows.Count > 0 Then txtBezeichnung.Focus() End If End Sub Private Sub dgvAviso_Click(sender As Object, e As EventArgs) Handles dgvAviso.Click dgvSendungen.ClearSelection() End Sub Private Sub dgvAviso_CellContentClick(sender As Object, e As EventArgs) Handles dgvAviso.SelectionChanged Dim avisoId = -1 If dgvAviso.SelectedRows.Count > 0 Then avisoId = dgvAviso.SelectedRows(0).Cells("AvisoId").Value initSrchSnd(avisoId) End Sub Private Sub dgvAnhaenge_KeyDown(sender As Object, e As KeyEventArgs) Handles dgvAnhaenge.KeyDown If e.KeyCode = Keys.Delete Then If dgvAnhaenge.SelectedRows.Count > 0 Then For Each row In dgvAnhaenge.SelectedRows.Cast(Of DataGridViewRow)().OrderByDescending(Function(dgvr) dgvr.Index) ATT.RemoveAt(row.Index) Next ' ATT.RemoveAt(dgvAnhaenge.SelectedRows(0).Index) 'Inex-Rows = Index-Att initAttachment() End If End If End Sub Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged dgvAnhaenge.Enabled = CheckBox1.Checked cbx.Enabled = CheckBox1.Checked If CheckBox1.Checked Then btnSaveAttachments.Enabled = dgvAnhaenge.Rows.Count > 0 Else btnSaveAttachments.Enabled = False End If End Sub End Class