170 lines
9.1 KiB
VB.net
170 lines
9.1 KiB
VB.net
Public Class frmKundenSuche
|
|
Public erweitern As Boolean = False
|
|
Dim sql As New SQL
|
|
Public WithEvents kundenNrSearch As New TextBox
|
|
|
|
Sub New()
|
|
InitializeComponent()
|
|
End Sub
|
|
Sub New(searchtxt As String)
|
|
InitializeComponent()
|
|
Me.txtKurzname.Text = searchtxt
|
|
End Sub
|
|
Sub New(searchKdnr As Integer)
|
|
InitializeComponent()
|
|
Me.txtKundenNr.Text = searchKdnr
|
|
End Sub
|
|
Private Sub frmKundenSuche_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
Me.Height = Me.Height - pnlErweiterteSuche.Height
|
|
|
|
cbxLandKz.fillWithSQL("SELECT Währungstabelle.LandKz, [Länderverzeichnis für die Außenhandelsstatistik].LandBez " &
|
|
" FROM [Länderverzeichnis für die Außenhandelsstatistik] LEFT JOIN Währungstabelle ON [Länderverzeichnis für die Außenhandelsstatistik].LandNr = Währungstabelle.Währungsschlüssel " &
|
|
" WHERE Währungstabelle.LandKz Is Not NULL " &
|
|
" ORDER BY [Länderverzeichnis für die Außenhandelsstatistik].LandBez ", True, "FMZOLL")
|
|
cbxLandKz.Items.Insert(0, New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
|
|
|
|
For Each p In Panel1.Controls
|
|
If p.GetType.Name = "TextBox" Then
|
|
RemoveHandler DirectCast(p, TextBox).KeyUp, AddressOf checkKey
|
|
AddHandler DirectCast(p, TextBox).KeyUp, AddressOf checkKey
|
|
ElseIf p.GetType.Name = "MyTextBox" Then
|
|
RemoveHandler DirectCast(p, VERAG_PROG_ALLGEMEIN.MyTextBox).KeyUp, AddressOf checkKey
|
|
AddHandler DirectCast(p, VERAG_PROG_ALLGEMEIN.MyTextBox).KeyUp, AddressOf checkKey
|
|
ElseIf p.GetType.Name = "MyComboBox" Then
|
|
RemoveHandler DirectCast(p, VERAG_PROG_ALLGEMEIN.MyComboBox).KeyUp, AddressOf checkKey
|
|
AddHandler DirectCast(p, VERAG_PROG_ALLGEMEIN.MyComboBox).KeyUp, AddressOf checkKey
|
|
End If
|
|
Next
|
|
|
|
End Sub
|
|
|
|
Private Sub FlatButton3_Click(sender As Object, e As EventArgs) Handles FlatButton3.Click
|
|
initSearch()
|
|
End Sub
|
|
Sub initSearch()
|
|
With DataGridView1
|
|
.Columns.Clear()
|
|
Dim SQLstr As String = " SELECT top 10 Ordnungsbegriff as Firma, AdressenNr as KdNr,Adressen.[LandKz] + ' ' + Adressen.[PLZ] + ' - ' + Adressen.[Ort] + ' ' + Adressen.[Straße] as Adresse, (Adressen.[UstIdKz] + Adressen.[UstIdNr]) as UID,EORITIN as EORI "
|
|
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Or VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERIMEX" Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AVISO_IMEX", "AVISO") Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Then SQLstr &= ", Filialen.Firma as Firma_Intern "
|
|
|
|
SQLstr &= " From [Adressen] INNER JOIN Kunden ON KundenNr=AdressenNr inner join Filialen on Filialen.FilialenNr=Kunden.FilialenNr WHERE 1=1 "
|
|
Dim suchparam As Boolean = False
|
|
If txtKurzname.Text <> "" Then SQLstr &= " AND Ordnungsbegriff LIKE '" & txtKurzname.Text & "%'" : suchparam = True
|
|
If txtKundenNr.Text <> "" Then SQLstr &= " AND AdressenNr LIKE '" & txtKundenNr.Text & "%'" : suchparam = True
|
|
If txtStrasse.Text <> "" Then SQLstr &= " AND Adressen.Straße LIKE '" & txtStrasse.Text & "%'" : suchparam = True
|
|
If txtOrt.Text <> "" Then SQLstr &= " AND Adressen.Ort LIKE '" & txtOrt.Text & "%'" : suchparam = True
|
|
If txtPlz.Text <> "" Then SQLstr &= " AND Adressen.[PLZ] LIKE '" & txtPlz.Text & "%'" : suchparam = True
|
|
If txtUID.Text <> "" Then SQLstr &= " AND (Adressen.[UstIdKz] + Adressen.[UstIdNr]) LIKE '" & txtUID.Text.Replace("*", "%") & "'" : suchparam = True
|
|
If txtEORI.Text <> "" Then SQLstr &= " AND [EORITIN] LIKE '" & txtEORI.Text.Replace("*", "%") & "'" : suchparam = True
|
|
If cbxLandKz.Text <> "" Then SQLstr &= " AND Adressen.LandKz = '" & DirectCast(cbxLandKz.SelectedItem, VERAG_PROG_ALLGEMEIN.MyListItem).Value & "'" : suchparam = True
|
|
Select Case cbxAktiv.CheckState
|
|
Case CheckState.Checked : SQLstr &= " AND Auswahl='A' " : suchparam = True
|
|
Case CheckState.Unchecked : SQLstr &= " AND Auswahl='I' " : suchparam = True
|
|
End Select
|
|
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
Case "FRONTOFFICE" : SQLstr &= " AND '" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
|
|
Case "VERIMEX" : SQLstr &= " AND '" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
|
|
Case "VERAG", "ATILLA" : SQLstr &= " AND isnull(Kunden.[FilialenNr],0) NOT IN ('5501','5601','5701','5801') " : suchparam = True
|
|
Case Else : SQLstr &= " AND Filialen.Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' " : suchparam = True
|
|
End Select
|
|
|
|
|
|
|
|
'If txtPostfachOrt.Text <> "" Then SQLstr &= " AND Postfach LIKE '%" & txtPostfachOrt.Text & "%'" : suchparam = True
|
|
'If txtPostfachPlz.Text <> "" Then SQLstr &= " AND PLZPf LIKE '%" & txtPostfachPlz.Text & "%'" : suchparam = True
|
|
'MsgBox(SQLstr)
|
|
SQLstr &= " order by Ordnungsbegriff "
|
|
If suchparam Then
|
|
.DataSource = sql.loadDgvBySql(SQLstr, "FMZOLL")
|
|
Else
|
|
' MsgBox("Bitte geben Sie einen Suchbegriff ein!")
|
|
End If
|
|
If .RowCount = 0 Then Exit Sub
|
|
.Columns("KdNr").Width = 60
|
|
.Columns("Firma").Width = 250
|
|
If .Columns("Firma_intern") IsNot Nothing Then .Columns("Firma_intern").HeaderText = "Firma"
|
|
.Columns("Adresse").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
|
' .Focus()
|
|
End With
|
|
End Sub
|
|
|
|
Private Sub checkKey(sender As Object, e As KeyEventArgs) Handles txtKurzname.KeyDown, txtKundenNr.KeyDown, txtStrasse.KeyDown, txtOrt.KeyDown, txtPlz.KeyDown
|
|
If DataGridView1.RowCount > 0 Then
|
|
Select Case e.KeyCode
|
|
Case Keys.Return : FlatButton1.PerformClick()
|
|
Case Keys.Down
|
|
Dim i As Integer = DataGridView1.CurrentRow.Index
|
|
If (i + 1 < DataGridView1.RowCount) Then
|
|
DataGridView1.CurrentCell = DataGridView1.Item(2, i + 1)
|
|
End If
|
|
e.Handled = True : e.SuppressKeyPress = True
|
|
Case Keys.Up
|
|
Dim i As Integer = DataGridView1.CurrentRow.Index
|
|
If (i > 0) Then
|
|
DataGridView1.CurrentCell = DataGridView1.Item(2, i - 1)
|
|
End If
|
|
e.Handled = True : e.SuppressKeyPress = True
|
|
End Select
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub FlatButton1_Click(sender As Object, e As EventArgs) Handles FlatButton1.Click
|
|
If DataGridView1.SelectedCells.Count > 0 AndAlso IsNumeric(DataGridView1.CurrentRow.Cells("KdNr").Value) Then
|
|
kundenNrSearch.Text = DataGridView1.CurrentRow.Cells("KdNr").Value
|
|
Else
|
|
Me.DialogResult = DialogResult.None
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub DataGridView1Keydown(sender As Object, e As KeyEventArgs) Handles DataGridView1.KeyDown
|
|
If e.KeyCode = Keys.Return Then
|
|
FlatButton1.PerformClick()
|
|
End If
|
|
e.Handled = True
|
|
e.SuppressKeyPress = True
|
|
End Sub
|
|
|
|
Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellDoubleClick
|
|
FlatButton1.PerformClick()
|
|
End Sub
|
|
|
|
|
|
Private Sub txtKurzname_TextChanged(sender As Object, e As EventArgs) Handles txtKurzname.TextChanged, txtKundenNr.TextChanged, txtStrasse.TextChanged, txtOrt.TextChanged, cbxLandKz.TextChanged, txtPlz.TextChanged
|
|
initSearch()
|
|
End Sub
|
|
|
|
Private Sub lklErweitert_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles lklErweitert.LinkClicked
|
|
SucheErweitern()
|
|
End Sub
|
|
|
|
Public Sub SucheErweitern()
|
|
pnlErweiterteSuche.Visible = Not pnlErweiterteSuche.Visible
|
|
If pnlErweiterteSuche.Visible Then
|
|
Me.Height = Me.Height + pnlErweiterteSuche.Height
|
|
Else
|
|
Me.Height = Me.Height - pnlErweiterteSuche.Height
|
|
End If
|
|
End Sub
|
|
Private Sub DataGridView1_SelectionChanged(sender As Object, e As EventArgs) Handles DataGridView1.SelectionChanged
|
|
|
|
FlatButton1.Enabled = (DataGridView1.SelectedCells.Count > 0 AndAlso IsNumeric(DataGridView1.CurrentRow.Cells("KdNr").Value))
|
|
|
|
End Sub
|
|
|
|
Private Sub frmKundenSuche_Shown(sender As Object, e As EventArgs) Handles Me.Shown
|
|
If erweitern Then
|
|
SucheErweitern()
|
|
End If
|
|
DataGridView1.Columns.Clear()
|
|
End Sub
|
|
|
|
Private Sub cbxAktiv_CheckedChanged(sender As Object, e As EventArgs) Handles cbxAktiv.CheckedChanged
|
|
initSearch()
|
|
End Sub
|
|
|
|
Private Sub pnlErweiterteSuche_Paint(sender As Object, e As PaintEventArgs) Handles pnlErweiterteSuche.Paint
|
|
|
|
End Sub
|
|
End Class |