KdSearchbox, etc.

This commit is contained in:
2025-12-29 14:53:52 +01:00
parent 5f635227eb
commit 51b7ecf2a0
5 changed files with 324 additions and 91 deletions

View File

@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben: ' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.5.0.8")> <Assembly: AssemblyVersion("1.5.0.9")>
<Assembly: AssemblyFileVersion("1.5.0.8")> <Assembly: AssemblyFileVersion("1.5.0.9")>

View File

@@ -577,28 +577,27 @@ Public Class usrcntlKundeBearbeitenFull
End If End If
ADRESSE.Auswahl = cboAuswahl._value ADRESSE.Auswahl = cboAuswahl._value
ADRESSE.Ordnungsbegriff = isLeerNothing(txtKurzname.Text) ADRESSE.Ordnungsbegriff = isLeerNothing(txtKurzname.Text.Trim)
ADRESSE.Name_1 = isLeerNothing(txtFirmenname1.Text) ADRESSE.Name_1 = isLeerNothing(txtFirmenname1.Text.Trim)
ADRESSE.Name_2 = isLeerNothing(txtFirmenname2.Text) ADRESSE.Name_2 = isLeerNothing(txtFirmenname2.Text.Trim)
ADRESSE.Name_2 = isLeerNothing(txtFirmenname2.Text)
KUNDE_ERW.kde_AdressZusatz = (txtAdresseZusatz.Text) KUNDE_ERW.kde_AdressZusatz = (txtAdresseZusatz.Text)
ADRESSE.Straße = isLeerNothing(txtStrasse.Text) ADRESSE.Straße = isLeerNothing(txtStrasse.Text.Trim)
ADRESSE.PLZ = isLeerNothing(txtPlz.Text) ADRESSE.PLZ = isLeerNothing(txtPlz.Text.Trim)
ADRESSE.Ort = isLeerNothing(txtOrt.Text) ADRESSE.Ort = isLeerNothing(txtOrt.Text.Trim)
ADRESSE.LandKz = isLeerNothing(cbxLandKz._value) ADRESSE.LandKz = isLeerNothing(cbxLandKz._value)
ADRESSE.PLZPF = isLeerNothing(txtPostfachPlz.Text) ADRESSE.PLZPF = isLeerNothing(txtPostfachPlz.Text)
ADRESSE.Postfach = isLeerNothing(txtPostfachOrt.Text) ADRESSE.Postfach = isLeerNothing(txtPostfachOrt.Text)
ADRESSE.Telefon = isLeerNothing(txtTel.Text) ADRESSE.Telefon = isLeerNothing(txtTel.Text.Trim)
ADRESSE.Telefax = isLeerNothing(txtFax.Text) ADRESSE.Telefax = isLeerNothing(txtFax.Text.Trim)
ADRESSE.Mobiltelefon = isLeerNothing(txtMobil.Text) ADRESSE.Mobiltelefon = isLeerNothing(txtMobil.Text.Trim)
ADRESSE.E_Mail = isLeerNothing(txtEmail.Text) ADRESSE.E_Mail = isLeerNothing(txtEmail.Text.Trim)
ADRESSE.E_Mail2 = isLeerNothing(txtEmail2.Text) ADRESSE.E_Mail2 = isLeerNothing(txtEmail2.Text.Trim)
ADRESSE.Ansprechpartner = isLeerNothing(txtAnsprechpartner.Text) ADRESSE.Ansprechpartner = isLeerNothing(txtAnsprechpartner.Text.Trim)
ADRESSE.Anrede = isLeerNothing(txtAnsprechpartnerAnrede.Text) ADRESSE.Anrede = isLeerNothing(txtAnsprechpartnerAnrede.Text.Trim)
' txtBank.Text=ADRESSE.Bankverbindung" ' txtBank.Text=ADRESSE.Bankverbindung"

View File

@@ -41,6 +41,7 @@ Public Class KdSearchBox
Dim Eingabe_verarbeitet = True Dim Eingabe_verarbeitet = True
Dim WithEvents tmr_Search As New Timer Dim WithEvents tmr_Search As New Timer
Dim GlobalAnzahlKunden As Integer = -1
Public usrcntlWIDTH = 600 Public usrcntlWIDTH = 600
Public usrcntlHEIGHT = 380 Public usrcntlHEIGHT = 380
@@ -159,7 +160,148 @@ Public Class KdSearchBox
End Try End Try
End Sub End Sub
Sub doKeyDown(srchdate As DateTime) Private Sub seeAllKunden(sender As Object, e As MouseEventArgs) Handles usrcntl.DGV_AlleKunden
If Not searchActive Then Exit Sub
If usrcntl Is Nothing Then
Exit Sub
End If
Try
If usrcntl.Visible = False Then
usrcntl.Width = usrcntlWIDTH
usrcntl.Height = usrcntlHEIGHT
Dim locationOnForm As Point = Nothing
If Me.FindForm IsNot Nothing Then
If dgvpos = "LEFT" Or dgvpos = "" Then
locationOnForm = Me.FindForm().PointToClient(Me.Parent.PointToScreen(Me.Location))
ElseIf dgvpos = "RIGHT" Then
locationOnForm = Me.FindForm().PointToClient(Me.Parent.PointToScreen(Me.Location))
locationOnForm.X = locationOnForm.X - (usrcntl.Width - Me.Width)
End If
End If
If locationOnForm.Y + usrcntl.Height + Me.Height > form.ClientRectangle.Height Then
usrcntl.Height = form.ClientRectangle.Height - locationOnForm.Y - Me.Height
End If
usrcntl.Location = locationOnForm
usrcntl.Top += Me.Height
End If
If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenAktiv IsNot Nothing Then
With usrcntl.dgvKundenAktiv
If usrcntl.Visible = False Then
.AllowUserToAddRows = False
.AllowUserToDeleteRows = False
.AllowUserToOrderColumns = False
.AllowUserToResizeColumns = False
.AllowUserToResizeRows = False
.ReadOnly = True
.MultiSelect = False
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.BackgroundColor = Color.White
.ForeColor = Color.Black
Try
.GridColor = Color.White
Catch ex As Exception
'Keine Ahnung warum hier ein Fehler kommt
End Try
End If
'THREADING AKTIV
Me.ThreadInitAKTIV(GlobalAnzahlKunden)
' Dim ThreadInitAKTIV = New System.Threading.Thread(AddressOf Me.ThreadInitAKTIV)
' ThreadInitAKTIV.IsBackground = True
' ThreadInitAKTIV.Start()
End With
End If
If nurAktive Then
usrcntl.dgvKundenInAktiv.Visible = False
usrcntl.Panel1.Visible = False
Else
If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenInAktiv IsNot Nothing Then
With usrcntl.dgvKundenInAktiv
If usrcntl.Visible = False Then
.AllowUserToAddRows = False
.AllowUserToDeleteRows = False
.AllowUserToOrderColumns = False
.AllowUserToResizeColumns = False
.AllowUserToResizeRows = False
.ReadOnly = True
.MultiSelect = False
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.BackgroundColor = Color.White
.ForeColor = Color.Black
Try
.GridColor = Color.White
Catch ex As Exception
'Keine Ahnung warum hier ein Fehler kommt
End Try
.DefaultCellStyle.ForeColor = Color.Gray
End If
Me.ThreadInitINAKTIV()
'THREADING INAKTIV
'Dim ThreadInitINAKTIV = New System.Threading.Thread(AddressOf Me.ThreadInitINAKTIV)
'ThreadInitINAKTIV.IsBackground = True
'ThreadInitINAKTIV.Start()
End With
End If
End If
If _hideIfListEmpty Then
If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then
setObjectVisible(usrcntl, False)
Else
setObjectVisible(usrcntl, True)
End If
If False Then
'THREADING ThreadWaitAndSee
Dim ThreadWaitAndSee = New System.Threading.Thread(Sub()
Threading.Thread.Sleep(200)
If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then
setObjectVisible(usrcntl, False)
Else
setObjectVisible(usrcntl, True)
End If
End Sub)
ThreadWaitAndSee.IsBackground = True
ThreadWaitAndSee.Start()
End If
Else
usrcntl.Visible = True
usrcntl.Show()
usrcntl.BringToFront()
End If
Eingabe_verarbeitet = True
last_search = Now
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
End Sub
Sub doKeyDown(srchdate As DateTime, Optional topKunden As Integer = 10)
Try Try
If usrcntl Is Nothing Then Exit Sub If usrcntl Is Nothing Then Exit Sub
If Eingabe_verarbeitet Then Exit Sub ' Bereits abgearbetiet -> Timer If Eingabe_verarbeitet Then Exit Sub ' Bereits abgearbetiet -> Timer
@@ -169,7 +311,7 @@ Public Class KdSearchBox
'TIMER_SEARCH 'TIMER_SEARCH
If TIMER_SEARCH Then If TIMER_SEARCH Then
If span_last_search < 500 And span_last_eingabe < 500 Then If span_last_search < 600 And span_last_eingabe < 600 Then
Exit Sub Exit Sub
End If End If
End If End If
@@ -223,7 +365,7 @@ Public Class KdSearchBox
'THREADING AKTIV 'THREADING AKTIV
Me.ThreadInitAKTIV() Me.ThreadInitAKTIV(topKunden)
' Dim ThreadInitAKTIV = New System.Threading.Thread(AddressOf Me.ThreadInitAKTIV) ' Dim ThreadInitAKTIV = New System.Threading.Thread(AddressOf Me.ThreadInitAKTIV)
' ThreadInitAKTIV.IsBackground = True ' ThreadInitAKTIV.IsBackground = True
' ThreadInitAKTIV.Start() ' ThreadInitAKTIV.Start()
@@ -232,9 +374,9 @@ Public Class KdSearchBox
End If End If
If nurAktive Then If nurAktive Then
usrcntl.dgvKundenInAktiv.Visible = False usrcntl.dgvKundenInAktiv.Visible = False
usrcntl.Panel1.Visible = False usrcntl.Panel1.Visible = False
Else Else
If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenInAktiv IsNot Nothing Then If usrcntl IsNot Nothing AndAlso usrcntl.dgvKundenInAktiv IsNot Nothing Then
With usrcntl.dgvKundenInAktiv With usrcntl.dgvKundenInAktiv
@@ -271,32 +413,32 @@ Public Class KdSearchBox
If _hideIfListEmpty Then If _hideIfListEmpty Then
If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then
setObjectVisible(usrcntl, False) setObjectVisible(usrcntl, False)
Else Else
setObjectVisible(usrcntl, True) setObjectVisible(usrcntl, True)
End If End If
If False Then If False Then
'THREADING ThreadWaitAndSee 'THREADING ThreadWaitAndSee
Dim ThreadWaitAndSee = New System.Threading.Thread(Sub() Dim ThreadWaitAndSee = New System.Threading.Thread(Sub()
Threading.Thread.Sleep(200) Threading.Thread.Sleep(200)
If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then If usrcntl.dgvKundenAktiv.RowCount = 0 And usrcntl.dgvKundenInAktiv.RowCount = 0 Then
setObjectVisible(usrcntl, False) setObjectVisible(usrcntl, False)
Else Else
setObjectVisible(usrcntl, True) setObjectVisible(usrcntl, True)
End If End If
End Sub) End Sub)
ThreadWaitAndSee.IsBackground = True ThreadWaitAndSee.IsBackground = True
ThreadWaitAndSee.Start() ThreadWaitAndSee.Start()
End If
Else
usrcntl.Visible = True
usrcntl.Show()
usrcntl.BringToFront()
End If End If
Else Eingabe_verarbeitet = True
usrcntl.Visible = True last_search = Now
usrcntl.Show()
usrcntl.BringToFront()
End If
Eingabe_verarbeitet = True
last_search = Now
Catch ex As Exception Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace) MsgBox(ex.Message & ex.StackTrace)
@@ -393,7 +535,7 @@ Public Class KdSearchBox
If Not _displayWoelflKd Then SQLstr &= " AND AdressenNr NOT LIKE '15%'" If Not _displayWoelflKd Then SQLstr &= " AND AdressenNr NOT LIKE '15%'"
SQLstr &= " order by Ordnungsbegriff " SQLstr &= " order by Ordnungsbegriff "
setDS(usrcntl.dgvKundenAktiv, SQL.loadDgvBySql(SQLstr, "FMZOLL")) setDS(True, usrcntl.dgvKundenAktiv, SQL.loadDgvBySql(SQLstr, "FMZOLL"), topAnz)
End With End With
@@ -477,7 +619,7 @@ Public Class KdSearchBox
If Not _displayWoelflKd Then SQLstr &= " AND AdressenNr NOT LIKE '15%'" If Not _displayWoelflKd Then SQLstr &= " AND AdressenNr NOT LIKE '15%'"
SQLstr &= " order by Ordnungsbegriff " SQLstr &= " order by Ordnungsbegriff "
setDS(usrcntl.dgvKundenInAktiv, SQL.loadDgvBySql(SQLstr, "FMZOLL")) setDS(False, usrcntl.dgvKundenInAktiv, SQL.loadDgvBySql(SQLstr, "FMZOLL"), 6)
End With End With
@@ -487,7 +629,7 @@ Public Class KdSearchBox
End Sub End Sub
Sub ThreadInitAKTIV() Sub ThreadInitAKTIV(Optional topKunden As Integer = 10)
Try Try
If usrcntl Is Nothing Then Exit Sub If usrcntl Is Nothing Then Exit Sub
If usrcntl.dgvKundenAktiv Is Nothing Then Exit Sub If usrcntl.dgvKundenAktiv Is Nothing Then Exit Sub
@@ -504,25 +646,28 @@ Public Class KdSearchBox
End If End If
If srch2.StartsWith("*") Then srch2 = Replace(srch2, "*", "%", , 1) ' Suche mit beginnenden * If srch2.StartsWith("*") Then srch2 = Replace(srch2, "*", "%", , 1) ' Suche mit beginnenden *
Dim topAnz = 10 Dim topAnz = topKunden
If nurAktive Then topAnz = 16 If nurAktive Then topAnz = 16
Dim AvisoEmail = "" Dim AvisoEmail = ""
If _displayAVISO_Email Then If _displayAVISO_Email Then
AvisoEmail = ", (SELECT CASE WHEN Count(*)>0 Then 'JA' ELSE '' END [Adressen] FROM [tblEmailBenachrichtigung] WHERE [eb_KundenNr]=AdressenNr) as [E-Mail] " AvisoEmail = ", (SELECT CASE WHEN Count(*)>0 Then 'JA' ELSE '' END [Adressen] FROM [tblEmailBenachrichtigung] WHERE [eb_KundenNr]=AdressenNr) as [E-Mail] "
End If End If
Dim SQLstrEnd As String = ""
Dim SQLstrCount As String = "Select count(Ordnungsbegriff)"
Dim SQLstr As String = " SELECT top " & topAnz & " Ordnungsbegriff as Firma, AdressenNr as KdNr,Adressen.[LandKz] + ' ' + Adressen.[PLZ] + ' - ' + Adressen.[Ort] + ' ' + Adressen.[Straße] as Adresse " & AvisoEmail & " " Dim SQLstr As String = " SELECT top " & topAnz & " Ordnungsbegriff as Firma, AdressenNr as KdNr,Adressen.[LandKz] + ' ' + Adressen.[PLZ] + ' - ' + Adressen.[Ort] + ' ' + Adressen.[Straße] as Adresse " & AvisoEmail & " "
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Or VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERIMEX" Or _AlleFirmenCLUSTER Or _UseFIRMA <> "" 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 " If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Or VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERIMEX" Or _AlleFirmenCLUSTER Or _UseFIRMA <> "" 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] " SQLstrEnd &= " FROM [Adressen] "
SQLstr &= " INNER JOIN Kunden on KundenNr=AdressenNr " SQLstrEnd &= " INNER JOIN Kunden on KundenNr=AdressenNr "
SQLstr &= " INNER JOIN Filialen on Filialen.FilialenNr=isnull(Kunden.FilialenNr,4803) " SQLstrEnd &= " INNER JOIN Filialen on Filialen.FilialenNr=isnull(Kunden.FilialenNr,4803) "
SQLstr &= " WHERE 1=1 " SQLstrEnd &= " WHERE 1=1 "
SQLstr &= " AND ( " SQLstrEnd &= " AND ( "
SQLstr &= " Ordnungsbegriff COLLATE Latin1_General_CI_AI LIKE '" & srch & "%' COLLATE Latin1_General_CI_AI " SQLstrEnd &= " Ordnungsbegriff COLLATE Latin1_General_CI_AI LIKE '" & srch & "%' COLLATE Latin1_General_CI_AI "
If IsNumeric(srch) Then SQLstr &= " OR AdressenNr LIKE '" & srch & "%' " If IsNumeric(srch) Then SQLstrEnd &= " OR AdressenNr LIKE '" & srch & "%' "
If _searchName1 Then SQLstr &= " OR Adressen.[Name 1] LIKE '" & srch & "%' " If _searchName1 Then SQLstrEnd &= " OR Adressen.[Name 1] LIKE '" & srch & "%' "
SQLstr &= " ) " SQLstrEnd &= " ) "
If srch2 <> "" Then SQLstr &= " AND (Filialen.Firma LIKE '" & srch2 & "%' OR ( Adressen.PLZ LIKE '" & srch2 & "%' OR Adressen.Ort LIKE '" & srch2 & "%' OR Adressen.LandKz LIKE '" & srch2 & "%' OR Adressen.Straße LIKE '" & srch2 & "%' )) " If srch2 <> "" Then SQLstrEnd &= " AND (Filialen.Firma LIKE '" & srch2 & "%' OR ( Adressen.PLZ LIKE '" & srch2 & "%' OR Adressen.Ort LIKE '" & srch2 & "%' OR Adressen.LandKz LIKE '" & srch2 & "%' OR Adressen.Straße LIKE '" & srch2 & "%' )) "
SQLstr &= " AND [Auswahl]='A' " SQLstrEnd &= " AND [Auswahl]='A' "
'If VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER <> "" Then 'If VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER <> "" Then
' SQLstr &= " AND (Filialen.Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' OR Filialen.CLUSTER='" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "') " ' SQLstr &= " AND (Filialen.Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' OR Filialen.CLUSTER='" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "') "
@@ -531,24 +676,24 @@ Public Class KdSearchBox
'End If 'End If
If _AlleFirmenCLUSTER Then If _AlleFirmenCLUSTER Then
SQLstr &= " AND '" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice SQLstrEnd &= " AND '" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
ElseIf _UseFIRMA <> "" Then ElseIf _UseFIRMA <> "" Then
SQLstr &= " AND '" & _UseFIRMA & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice SQLstrEnd &= " AND '" & _UseFIRMA & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
Else Else
SQLstr &= " AND ( '" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA.Replace("ATILLA", "VERAG") & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice SQLstrEnd &= " AND ( '" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA.Replace("ATILLA", "VERAG") & "' IN (Filialen.Firma,Filialen.Cluster) " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AVISO_IMEX", "AVISO") Then If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AVISO_IMEX", "AVISO") Then
SQLstr &= " OR Filialen.Firma IN ('IMEX') " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice SQLstrEnd &= " OR Filialen.Firma IN ('IMEX') " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
End If End If
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Then If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_VERAGIMEX", "SDL") Then
SQLstr &= " OR Filialen.Firma IN ('IMEX','VERAG') " ' Wenn die OFFERTE_FREMD_VERAGIMEX --> Beide SQLstrEnd &= " OR Filialen.Firma IN ('IMEX','VERAG') " ' Wenn die OFFERTE_FREMD_VERAGIMEX --> Beide
End If End If
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_UNISPED_BREXIT", "SDL") Then If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("OFFERTE_FREMD_UNISPED_BREXIT", "SDL") Then
SQLstr &= " OR (Filialen.Firma IN ('UNISPED') AND Kunden.[FilialenNr]=7002) " ' Wenn die OFFERTE_FREMD_VERAGIMEX --> Beide SQLstrEnd &= " OR (Filialen.Firma IN ('UNISPED') AND Kunden.[FilialenNr]=7002) " ' Wenn die OFFERTE_FREMD_VERAGIMEX --> Beide
End If End If
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("FAKTURIERUNG_FRONTOFFICE", "SDL") Then If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("FAKTURIERUNG_FRONTOFFICE", "SDL") Then
SQLstr &= " OR Filialen.Firma IN ('FRONTOFFICE') " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice SQLstrEnd &= " OR Filialen.Firma IN ('FRONTOFFICE') " ' Wenn die Firmenbezeichnung im CLUSter vorkommt .--> Frontoffice
End If End If
SQLstr &= " ) " SQLstrEnd &= " ) "
End If End If
''AUSNAHME BIS BESSERE LÖSUNG: ''AUSNAHME BIS BESSERE LÖSUNG:
@@ -565,10 +710,9 @@ Public Class KdSearchBox
' 'SQLstr &= " AND isnull(Kunden.[FilialenNr],0)<>'5501' " ' 'SQLstr &= " AND isnull(Kunden.[FilialenNr],0)<>'5501' "
' SQLstr &= " AND isnull(Kunden.[FilialenNr],0) NOT IN ('5501','5601','5701','5801') " ' SQLstr &= " AND isnull(Kunden.[FilialenNr],0) NOT IN ('5501','5601','5701','5801') "
'End If 'End If
If Not _displayWoelflKd Then SQLstr &= " AND AdressenNr NOT LIKE '15%'" If Not _displayWoelflKd Then SQLstrEnd &= " AND AdressenNr NOT LIKE '15%'"
SQLstr &= " order by Ordnungsbegriff "
setDS(usrcntl.dgvKundenAktiv, SQL.loadDgvBySql(SQLstr, "FMZOLL")) setDS(True, usrcntl.dgvKundenAktiv, SQL.loadDgvBySql(SQLstr & SQLstrEnd & " order by Ordnungsbegriff ", "FMZOLL"), topAnz, IIf(srch.Count > 4, SQL.getValueTxtBySql(SQLstrCount & SQLstrEnd, "FMZOLL"), ""))
End With End With
@@ -651,7 +795,7 @@ Public Class KdSearchBox
If Not _displayWoelflKd Then SQLstr &= " AND AdressenNr NOT LIKE '15%'" If Not _displayWoelflKd Then SQLstr &= " AND AdressenNr NOT LIKE '15%'"
SQLstr &= " order by Ordnungsbegriff " SQLstr &= " order by Ordnungsbegriff "
setDS(usrcntl.dgvKundenInAktiv, SQL.loadDgvBySql(SQLstr, "FMZOLL")) setDS(False, usrcntl.dgvKundenInAktiv, SQL.loadDgvBySql(SQLstr, "FMZOLL"), 4)
End With End With
@@ -662,7 +806,7 @@ Public Class KdSearchBox
'threadsicherer Aufruf 'threadsicherer Aufruf
' Delegate Sub setLabelCallback(l As DataGridView, t As DataTable) ' Delegate Sub setLabelCallback(l As DataGridView, t As DataTable)
Private Sub setDS(l As DataGridView, t As DataTable) Private Sub setDS(aktiveKunden As Boolean, l As DataGridView, t As DataTable, topKunden As Integer, Optional anzahlKunden As String = "")
Try Try
If l Is Nothing Then Exit Sub If l Is Nothing Then Exit Sub
If t Is Nothing Then Exit Sub If t Is Nothing Then Exit Sub
@@ -685,6 +829,32 @@ Public Class KdSearchBox
.ClearSelection() .ClearSelection()
End With End With
If aktiveKunden Then
If topKunden < CInt(anzahlKunden) And CInt(anzahlKunden) < 65 Then
usrcntl.btnAlleKunden.Visible = True
Else
usrcntl.btnAlleKunden.Visible = False
End If
usrcntl.Label2.Text = "AKTIVE Kunden - MAX " & topKunden & " Einträge"
If anzahlKunden <> "" AndAlso IsNumeric(anzahlKunden) Then
usrcntl.lblAnzahl.Text = "Anzahl: " & anzahlKunden
GlobalAnzahlKunden = anzahlKunden
Else
usrcntl.lblAnzahl.Text = ""
GlobalAnzahlKunden = -1
End If
Else
usrcntl.lblINAKTIVEKunden.Text = "INAKTIVE Kunden - MAX " & topKunden & " Einträge"
End If
' End If ' End If
Catch ex As Exception Catch ex As Exception

View File

@@ -22,19 +22,84 @@ Partial Class usrcntlKdSearch
'Das Bearbeiten mit dem Code-Editor ist nicht möglich. 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _ <System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent() Private Sub InitializeComponent()
Me.dgvKundenAktiv = New VERAG_PROG_ALLGEMEIN.MyDatagridview() Me.components = New System.ComponentModel.Container()
Me.pnl = New System.Windows.Forms.Panel() Me.pnl = New System.Windows.Forms.Panel()
Me.Panel2 = New System.Windows.Forms.Panel()
Me.btnAlleKunden = New System.Windows.Forms.Button()
Me.lblAnzahl = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label()
Me.dgvKundenAktiv = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.Panel1 = New System.Windows.Forms.Panel() Me.Panel1 = New System.Windows.Forms.Panel()
Me.lblClose = New System.Windows.Forms.Label() Me.lblClose = New System.Windows.Forms.Label()
Me.lblINAKTIVEKunden = New System.Windows.Forms.Label() Me.lblINAKTIVEKunden = New System.Windows.Forms.Label()
Me.dgvKundenInAktiv = New VERAG_PROG_ALLGEMEIN.MyDatagridview() Me.dgvKundenInAktiv = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.DirectoryEntry1 = New System.DirectoryServices.DirectoryEntry() Me.DirectoryEntry1 = New System.DirectoryServices.DirectoryEntry()
CType(Me.dgvKundenAktiv, System.ComponentModel.ISupportInitialize).BeginInit()
Me.pnl.SuspendLayout() Me.pnl.SuspendLayout()
Me.Panel2.SuspendLayout()
CType(Me.dgvKundenAktiv, System.ComponentModel.ISupportInitialize).BeginInit()
Me.Panel1.SuspendLayout() Me.Panel1.SuspendLayout()
CType(Me.dgvKundenInAktiv, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.dgvKundenInAktiv, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout() Me.SuspendLayout()
' '
'pnl
'
Me.pnl.AutoSize = True
Me.pnl.BackColor = System.Drawing.Color.White
Me.pnl.Controls.Add(Me.Panel2)
Me.pnl.Controls.Add(Me.dgvKundenAktiv)
Me.pnl.Controls.Add(Me.Panel1)
Me.pnl.Controls.Add(Me.dgvKundenInAktiv)
Me.pnl.Location = New System.Drawing.Point(2, 3)
Me.pnl.Name = "pnl"
Me.pnl.Size = New System.Drawing.Size(564, 374)
Me.pnl.TabIndex = 1
'
'Panel2
'
Me.Panel2.BackColor = System.Drawing.SystemColors.InactiveCaption
Me.Panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.Panel2.Controls.Add(Me.btnAlleKunden)
Me.Panel2.Controls.Add(Me.lblAnzahl)
Me.Panel2.Controls.Add(Me.Label2)
Me.Panel2.Dock = System.Windows.Forms.DockStyle.Top
Me.Panel2.Location = New System.Drawing.Point(0, 0)
Me.Panel2.Name = "Panel2"
Me.Panel2.Size = New System.Drawing.Size(564, 16)
Me.Panel2.TabIndex = 18
'
'btnAlleKunden
'
Me.btnAlleKunden.Font = New System.Drawing.Font("Microsoft Sans Serif", 6.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.btnAlleKunden.Location = New System.Drawing.Point(414, -2)
Me.btnAlleKunden.Name = "btnAlleKunden"
Me.btnAlleKunden.Size = New System.Drawing.Size(68, 18)
Me.btnAlleKunden.TabIndex = 4
Me.btnAlleKunden.Text = "alle Kunden"
Me.btnAlleKunden.TextAlign = System.Drawing.ContentAlignment.TopCenter
Me.btnAlleKunden.UseVisualStyleBackColor = True
Me.btnAlleKunden.Visible = False
'
'lblAnzahl
'
Me.lblAnzahl.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.lblAnzahl.AutoSize = True
Me.lblAnzahl.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblAnzahl.Location = New System.Drawing.Point(488, 0)
Me.lblAnzahl.Name = "lblAnzahl"
Me.lblAnzahl.Size = New System.Drawing.Size(45, 13)
Me.lblAnzahl.TabIndex = 3
Me.lblAnzahl.Text = "Anzahl: "
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label2.Location = New System.Drawing.Point(3, 0)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(75, 13)
Me.Label2.TabIndex = 2
Me.Label2.Text = "aktive Kunden"
'
'dgvKundenAktiv 'dgvKundenAktiv
' '
Me.dgvKundenAktiv.AKTUALISIERUNGS_INTERVALL = -1 Me.dgvKundenAktiv.AKTUALISIERUNGS_INTERVALL = -1
@@ -46,18 +111,6 @@ Partial Class usrcntlKdSearch
Me.dgvKundenAktiv.Size = New System.Drawing.Size(564, 243) Me.dgvKundenAktiv.Size = New System.Drawing.Size(564, 243)
Me.dgvKundenAktiv.TabIndex = 0 Me.dgvKundenAktiv.TabIndex = 0
' '
'pnl
'
Me.pnl.AutoSize = True
Me.pnl.BackColor = System.Drawing.Color.White
Me.pnl.Controls.Add(Me.dgvKundenAktiv)
Me.pnl.Controls.Add(Me.Panel1)
Me.pnl.Controls.Add(Me.dgvKundenInAktiv)
Me.pnl.Location = New System.Drawing.Point(2, 3)
Me.pnl.Name = "pnl"
Me.pnl.Size = New System.Drawing.Size(564, 374)
Me.pnl.TabIndex = 1
'
'Panel1 'Panel1
' '
Me.Panel1.BackColor = System.Drawing.SystemColors.InactiveCaption Me.Panel1.BackColor = System.Drawing.SystemColors.InactiveCaption
@@ -113,8 +166,10 @@ Partial Class usrcntlKdSearch
Me.Controls.Add(Me.pnl) Me.Controls.Add(Me.pnl)
Me.Name = "usrcntlKdSearch" Me.Name = "usrcntlKdSearch"
Me.Size = New System.Drawing.Size(570, 380) Me.Size = New System.Drawing.Size(570, 380)
CType(Me.dgvKundenAktiv, System.ComponentModel.ISupportInitialize).EndInit()
Me.pnl.ResumeLayout(False) Me.pnl.ResumeLayout(False)
Me.Panel2.ResumeLayout(False)
Me.Panel2.PerformLayout()
CType(Me.dgvKundenAktiv, System.ComponentModel.ISupportInitialize).EndInit()
Me.Panel1.ResumeLayout(False) Me.Panel1.ResumeLayout(False)
Me.Panel1.PerformLayout() Me.Panel1.PerformLayout()
CType(Me.dgvKundenInAktiv, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.dgvKundenInAktiv, System.ComponentModel.ISupportInitialize).EndInit()
@@ -129,5 +184,8 @@ Partial Class usrcntlKdSearch
Public WithEvents dgvKundenInAktiv As MyDatagridview Public WithEvents dgvKundenInAktiv As MyDatagridview
Public WithEvents lblClose As System.Windows.Forms.Label Public WithEvents lblClose As System.Windows.Forms.Label
Friend WithEvents DirectoryEntry1 As System.DirectoryServices.DirectoryEntry Friend WithEvents DirectoryEntry1 As System.DirectoryServices.DirectoryEntry
Friend WithEvents Panel2 As Windows.Forms.Panel
Friend WithEvents Label2 As Windows.Forms.Label
Friend WithEvents lblAnzahl As Windows.Forms.Label
Friend WithEvents btnAlleKunden As Windows.Forms.Button
End Class End Class

View File

@@ -1,8 +1,10 @@
Imports System.Windows.Forms Imports System.Windows.Forms
Imports System.Drawing Imports System.Drawing
Public Class usrcntlKdSearch Public Class usrcntlKdSearch
Public Event DGV_Click(sender As Object, e As EventArgs) Public Event DGV_Click(sender As Object, e As EventArgs)
Public Event DGV_AlleKunden(sender As Object, e As EventArgs)
Public Event DGV_INAKTIV_Click(sender As Object, e As EventArgs) Public Event DGV_INAKTIV_Click(sender As Object, e As EventArgs)
Public Event DGV_KeyDown(sender As Object, e As KeyEventArgs) Public Event DGV_KeyDown(sender As Object, e As KeyEventArgs)
Public Event DGV_INAKTIV_KeyDown(sender As Object, e As KeyEventArgs) Public Event DGV_INAKTIV_KeyDown(sender As Object, e As KeyEventArgs)
@@ -47,4 +49,8 @@ Public Class usrcntlKdSearch
RaiseEvent DGV_Click(sender, e) RaiseEvent DGV_Click(sender, e)
End Sub End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnAlleKunden.Click
RaiseEvent DGV_AlleKunden(sender, e)
End Sub
End Class End Class