diff --git a/UID/Mitarbeiter/usrCntlMitarbeiter.vb b/UID/Mitarbeiter/usrCntlMitarbeiter.vb index dc81768..af4c1df 100644 --- a/UID/Mitarbeiter/usrCntlMitarbeiter.vb +++ b/UID/Mitarbeiter/usrCntlMitarbeiter.vb @@ -28,7 +28,6 @@ Public Class usrCntlMitarbeiter Try ' Me.Size = My.Settings.frmMainSize ' Me.Location = My.Settings.frmMainPosition - Catch ex As Exception Catch ex As Exception 'nix tun - Standardgröße wird somit automatisch gesetzt End Try @@ -38,167 +37,153 @@ Public Class usrCntlMitarbeiter txtSuche.Focus() End Sub - Public Sub Tabelle_anzeigen() - If TabControl1.SelectedIndex = 0 Then - showVERAGATILLA("VERAG") - ElseIf TabControl1.SelectedIndex = 1 Then - showVERAGATILLA("ATILLA") - ElseIf TabControl1.SelectedIndex = 2 Then - showVERAGATILLA("IMEX") - ElseIf TabControl1.SelectedIndex = 3 Then - showVERAGATILLA("UNISPED") - ElseIf TabControl1.SelectedIndex = 4 Then - showVERAGATILLA("AMBAR") - ElseIf TabControl1.SelectedIndex = 5 Then - showVERAGATILLA("FRONTOFFICE") - ElseIf TabControl1.SelectedIndex = 6 Then - showVERAGATILLA("VERIMEX") - ElseIf TabControl1.SelectedIndex = 7 Then - If dgvTimasNew IsNot Nothing Then - showTIMAS(False) - End If - End If + + + Public Sub Tabelle_anzeigen() + Dim startIndex As Integer = TabControl1.SelectedIndex + Dim firmaGefunden As Boolean = False + Dim tabCount As Integer = TabControl1.TabCount + + Dim checkedTabs As Integer = 0 + Dim i As Integer = startIndex + + Do While checkedTabs < tabCount + Dim firma As String = "" + Select Case i + Case 0 + firma = "VERAG" + Case 1 + firma = "ATILLA" + Case 2 + firma = "IMEX" + Case 3 + firma = "UNISPED" + Case 4 + firma = "AMBAR" + Case 5 + firma = "FRONTOFFICE" + Case 6 + firma = "VERIMEX" + Case 7 + If dgvTimasNew IsNot Nothing Then + showTIMAS(False) + firmaGefunden = True + Exit Do + End If + End Select + + If firma <> "" Then + If showVERAGATILLA(firma) Then + ' Wechsel zum Tab der gefundenen Firma + TabControl1.SelectedIndex = i + firmaGefunden = True + Exit Do + End If + End If + + checkedTabs += 1 + i = (i + 1) Mod tabCount ' Modulo-Operation für zyklisches Durchlaufen + Loop + + If Not firmaGefunden Then + MsgBox("Keine Daten für die ausgewählten Kriterien gefunden.", MsgBoxStyle.Information) + End If End Sub - Public Sub showVERAGATILLA(firma) - 'Paint wieder reaktivieren + + Public Function showVERAGATILLA(firma As String) As Boolean + ' Paint wieder reaktivieren locZeilen = -1 - If Not Grid_aktiv Then Exit Sub + If Not Grid_aktiv Then Return False + ' Ihre ursprüngliche SQL-Abfrage hier, angepasst für die aktuelle Firma + Dim sql As String = "SELECT mit_id, mit_username, mit_vname, mit_nname, mit_niederlassung, mit_abteilung, mit_email, cast(case when mit_timasId is null then 0 else 1 end as bit) mit_ze, cast(case when isnull([mit_DAKOSY_SB],'')<> '' and isnull([mit_DAKOSY_SBFull],'')<>'' then 1 else 0 end as bit) mit_DAKOSY, mit_durchwahl, mit_gekuendigt, isnull(mit_foto_DocId,'') as mit_foto_DocId FROM tblMitarbeiter WHERE (mit_firma='" & firma & "' OR (mit_firma='ALL' AND mit_FirmaHaupt='" & firma & "'))" - - Dim sql As String = "SELECT mit_id,mit_username,mit_vname, mit_nname ,mit_niederlassung,mit_abteilung,mit_email,cast (case when mit_timasId is null then 0 else 1 end as bit) mit_ze, cast (case when isnull([mit_DAKOSY_SB],'')<> '' and isnull([mit_DAKOSY_SBFull],'')<>'' then 1 else 0 end as bit) mit_DAKOSY, mit_durchwahl,mit_gekuendigt, isnull(mit_foto_DocId,'') as mit_foto_DocId FROM tblMitarbeiter WHERE (mit_firma='" & firma & "' OR (mit_firma='ALL' AND mit_FirmaHaupt='" & firma & "' )) " - + ' Rest Ihrer Filterbedingungen... If txtSuche.Text <> "" Then - sql &= " AND (mit_username LIKE '%" & txtSuche.Text & "%' OR mit_nname LIKE '%" & txtSuche.Text & "%' OR mit_vname LIKE '%" & txtSuche.Text & "%') " + sql &= " AND (mit_username LIKE '%" & txtSuche.Text & "%' OR mit_nname LIKE '%" & txtSuche.Text & "%' OR mit_vname LIKE '%" & txtSuche.Text & "%')" End If If cbx.CheckState <> CheckState.Indeterminate Then - sql &= " AND mit_gekuendigt=" & IIf(cbx.Checked, 1, 0) + sql &= " AND mit_gekuendigt=" & If(cbx.Checked, 1, 0) End If If cbxZE.CheckState <> CheckState.Indeterminate Then - sql &= IIf(cbxZE.Checked, " AND mit_timasId is not null", " AND mit_timasId is null") + sql &= If(cbxZE.Checked, " AND mit_timasId is not null", " AND mit_timasId is null") End If If cbxDakosy.CheckState <> CheckState.Indeterminate Then - sql &= IIf(cbxDakosy.Checked, " AND (isnull([mit_DAKOSY_SB],'')<> '' AND isnull([mit_DAKOSY_SBFull],'')<>'')", " AND ((isnull([mit_DAKOSY_SB],'')= '' OR isnull([mit_DAKOSY_SBFull],'')=''))") + sql &= If(cbxDakosy.Checked, " AND (isnull([mit_DAKOSY_SB],'')<> '' AND isnull([mit_DAKOSY_SBFull],'')<>'')", " AND (isnull([mit_DAKOSY_SB],'')= '' OR isnull([mit_DAKOSY_SBFull],'')='')") End If - If firma = "VERAG" Then + ' Daten laden und prüfen + Select Case firma + Case "VERAG" + c.SET_SQL(sql, "ADMIN") + c.LOAD() + If c.RowCount > 0 Then + sortDGV(c) + c.Sort(c.Columns(3), ListSortDirection.Ascending) + Return True + End If + Case "ATILLA" + dgvATILLA.SET_SQL(sql, "ADMIN") + dgvATILLA.LOAD() + If dgvATILLA.RowCount > 0 Then + sortDGV(dgvATILLA) + dgvATILLA.Sort(dgvATILLA.Columns(3), ListSortDirection.Ascending) + Return True + End If + Case "IMEX" + dgvIMEX.SET_SQL(sql, "ADMIN") + dgvIMEX.LOAD() + If dgvIMEX.RowCount > 0 Then + sortDGV(dgvIMEX) + dgvIMEX.Sort(dgvIMEX.Columns(3), ListSortDirection.Ascending) + Return True + End If + Case "UNISPED" + dgvUNISPED.SET_SQL(sql, "ADMIN") + dgvUNISPED.LOAD() + If dgvUNISPED.RowCount > 0 Then + sortDGV(dgvUNISPED) + dgvUNISPED.Sort(dgvUNISPED.Columns(3), ListSortDirection.Ascending) + Return True + End If + Case "AMBAR" + dgvAMBAR.SET_SQL(sql, "ADMIN") + dgvAMBAR.LOAD() + If dgvAMBAR.RowCount > 0 Then + sortDGV(dgvAMBAR) + dgvAMBAR.Sort(dgvAMBAR.Columns(3), ListSortDirection.Ascending) + Return True + End If + Case "FRONTOFFICE" + dgvFRONTOFFICE.SET_SQL(sql, "ADMIN") + dgvFRONTOFFICE.LOAD() + If dgvFRONTOFFICE.RowCount > 0 Then + sortDGV(dgvFRONTOFFICE) + dgvFRONTOFFICE.Sort(dgvFRONTOFFICE.Columns(3), ListSortDirection.Ascending) + Return True + End If + Case "VERIMEX" + dgvVERIMEX.SET_SQL(sql, "ADMIN") + dgvVERIMEX.LOAD() + If dgvVERIMEX.RowCount > 0 Then + sortDGV(dgvVERIMEX) + dgvVERIMEX.Sort(dgvVERIMEX.Columns(3), ListSortDirection.Ascending) + Return True + End If + ' Fügen Sie weitere Fälle hinzu, falls erforderlich + End Select - ' dgvVERAG.DataSource = UID.AnzeigeTabelleFirma(sql) - - c.SET_SQL(sql, "ADMIN") - c.LOAD() - 'Tabelle Kommt/Geht bereinigen - If c.RowCount = 0 Then - c.DataSource = Nothing - Else - sortDGV(c) - 'Eintraege_festlegen() - 'AL: Sortierung nach Ausfahrt (Zeit) - c.Sort(c.Columns(3), ListSortDirection.Ascending) - End If - ElseIf firma = "ATILLA" Then - ' dgvATILLA.DataSource = UID.AnzeigeTabelleFirma(sql) - - dgvATILLA.SET_SQL(sql, "ADMIN") - dgvATILLA.LOAD() - - 'Tabelle Kommt/Geht bereinigen - If dgvATILLA.RowCount = 0 Then - dgvATILLA.DataSource = Nothing - Else - sortDGV(dgvATILLA) - 'Eintraege_festlegen() - 'AL: Sortierung nach Ausfahrt (Zeit) - dgvATILLA.Sort(dgvATILLA.Columns(3), ListSortDirection.Ascending) - End If - ElseIf firma = "IMEX" Then - ' dgvATILLA.DataSource = UID.AnzeigeTabelleFirma(sql) - - dgvIMEX.SET_SQL(sql, "ADMIN") - dgvIMEX.LOAD() - - 'Tabelle Kommt/Geht bereinigen - If dgvIMEX.RowCount = 0 Then - dgvIMEX.DataSource = Nothing - Else - sortDGV(dgvIMEX) - 'Eintraege_festlegen() - 'AL: Sortierung nach Ausfahrt (Zeit) - dgvIMEX.Sort(dgvIMEX.Columns(3), ListSortDirection.Ascending) - End If - ElseIf firma = "UNISPED" Then - ' dgvATILLA.DataSource = UID.AnzeigeTabelleFirma(sql) - - dgvUNISPED.SET_SQL(sql, "ADMIN") - dgvUNISPED.LOAD() - - 'Tabelle Kommt/Geht bereinigen - If dgvUNISPED.RowCount = 0 Then - dgvUNISPED.DataSource = Nothing - Else - sortDGV(dgvUNISPED) - 'Eintraege_festlegen() - 'AL: Sortierung nach Ausfahrt (Zeit) - dgvUNISPED.Sort(dgvUNISPED.Columns(3), ListSortDirection.Ascending) - End If - ElseIf firma = "AMBAR" Then - ' dgvATILLA.DataSource = UID.AnzeigeTabelleFirma(sql) - - dgvAMBAR.SET_SQL(sql, "ADMIN") - dgvAMBAR.LOAD() - - 'Tabelle Kommt/Geht bereinigen - If dgvAMBAR.RowCount = 0 Then - dgvAMBAR.DataSource = Nothing - Else - sortDGV(dgvAMBAR) - 'Eintraege_festlegen() - 'AL: Sortierung nach Ausfahrt (Zeit) - dgvAMBAR.Sort(dgvAMBAR.Columns(3), ListSortDirection.Ascending) - End If - - ElseIf firma = "FRONTOFFICE" Then - ' dgvATILLA.DataSource = UID.AnzeigeTabelleFirma(sql) - - dgvFRONTOFFICE.SET_SQL(sql, "ADMIN") - dgvFRONTOFFICE.LOAD() - - 'Tabelle Kommt/Geht bereinigen - If dgvFRONTOFFICE.RowCount = 0 Then - dgvFRONTOFFICE.DataSource = Nothing - Else - sortDGV(dgvFRONTOFFICE) - 'Eintraege_festlegen() - 'AL: Sortierung nach Ausfahrt (Zeit) - dgvFRONTOFFICE.Sort(dgvFRONTOFFICE.Columns(3), ListSortDirection.Ascending) - - End If + Return False + End Function - ElseIf firma = "VERIMEX" Then - ' dgvATILLA.DataSource = UID.AnzeigeTabelleFirma(sql) - dgvVERIMEX.SET_SQL(sql, "ADMIN") - dgvVERIMEX.LOAD() - 'Tabelle Kommt/Geht bereinigen - If dgvVERIMEX.RowCount = 0 Then - dgvVERIMEX.DataSource = Nothing - Else - sortDGV(dgvVERIMEX) - 'Eintraege_festlegen() - 'AL: Sortierung nach Ausfahrt (Zeit) - dgvVERIMEX.Sort(dgvVERIMEX.Columns(3), ListSortDirection.Ascending) - - End If - End If - - End Sub Public Sub showTIMAS(refresh As Boolean) @@ -419,7 +404,6 @@ Public Class usrCntlMitarbeiter End Sub Private Sub TabControl1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TabControl1.SelectedIndexChanged - txtSuche.Text = "" txtSuche.Focus() Tabelle_anzeigen() End Sub