VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Begin VB.Form frmKellner 
   BorderStyle     =   0  'Kein
   Caption         =   "Form1"
   ClientHeight    =   3030
   ClientLeft      =   0
   ClientTop       =   0
   ClientWidth     =   4680
   BeginProperty Font 
      Name            =   "Arial"
      Size            =   9.75
      Charset         =   0
      Weight          =   400
      Underline       =   0   'False
      Italic          =   0   'False
      Strikethrough   =   0   'False
   EndProperty
   LinkTopic       =   "Form1"
   MDIChild        =   -1  'True
   ScaleHeight     =   3030
   ScaleWidth      =   4680
   ShowInTaskbar   =   0   'False
   Begin MSComctlLib.ImageList ImageList1 
      Left            =   750
      Top             =   2070
      _ExtentX        =   1005
      _ExtentY        =   1005
      BackColor       =   -2147483643
      ImageWidth      =   16
      ImageHeight     =   16
      MaskColor       =   16711935
      _Version        =   393216
      BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628} 
         NumListImages   =   2
         BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmKellner.frx":0000
            Key             =   "0A"
         EndProperty
         BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frmKellner.frx":0112
            Key             =   "1A"
         EndProperty
      EndProperty
   End
   Begin MSComctlLib.ListView ListViewKellner 
      Height          =   975
      Left            =   240
      TabIndex        =   0
      Top             =   600
      Width           =   3705
      _ExtentX        =   6535
      _ExtentY        =   1720
      View            =   3
      LabelWrap       =   -1  'True
      HideSelection   =   -1  'True
      Checkboxes      =   -1  'True
      _Version        =   393217
      SmallIcons      =   "ImageList1"
      ForeColor       =   -2147483640
      BackColor       =   -2147483643
      BorderStyle     =   1
      Appearance      =   1
      BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "Arial"
         Size            =   9.75
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      NumItems        =   0
   End
   Begin VB.Menu mnuMitarbeiter 
      Caption         =   "Mitarbeiter"
      Visible         =   0   'False
      Begin VB.Menu mnuNeuerMitarbeiter 
         Caption         =   "Neuer Mitarbeiter"
      End
      Begin VB.Menu mnuBearbeiten 
         Caption         =   "Bearbeiten"
      End
      Begin VB.Menu mnuLinie1 
         Caption         =   "-"
      End
      Begin VB.Menu mnuLoeschen 
         Caption         =   "Löschen"
      End
   End
End
Attribute VB_Name = "frmKellner"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim VarMitarbeiterNameClick, VarIndexClick
Dim VarHitTest As Boolean
'====================== FORMULAR EREIGNISSE ===================
'==============================================================
Private Sub Form_Load()
Call Me.KellnerPositionieren 'ListViewKellner wird ausgefühlt
End Sub
Private Sub Form_Activate()
VarIndexClick = 0
Call Me.ListViewKellnerFuelen 'ListViewKellner wird ausgefühlt
End Sub

'====================== MENU MITARBEITER EREIGNISSE ===================
'======================================================================
Private Sub mnuNeuerMitarbeiter_Click()
 If modRechte.MitarbeiterRecht(VarKellner, "MitarbeiterVerwaltungUneingeschrenkt") = True Then
    Load frmPin2
    frmPin2.Tag = "NeuerMitarbeiterUneingeschrenkt"
    frmPin2.Show 1
  ElseIf modRechte.MitarbeiterRecht(VarKellner, "MitarbeiterVerwaltungAlleKarteiPersoenlicheDaten") = True Then
    Load frmPin2
    frmPin2.Tag = "NeuerMitarbeiterNurPersoenlicheDaten"
    frmPin2.Show 1
  Else
    MsgBox "Sie haben nicht die nötigen Rechte, um diese Aktion auszuführen"
  End If
End Sub
Private Sub mnuBearbeiten_Click()
If VarHitTest = False Then Exit Sub

  If modRechte.MitarbeiterRecht(VarKellner, "MitarbeiterVerwaltungUneingeschrenkt") = True Then
    Load frmPin2
    frmPin2.Tag = "MitarbeiterBearbeitenUneingeschrenkt"
    frmPin2.Show 1
  ElseIf modRechte.MitarbeiterRecht(VarKellner, "MitarbeiterVerwaltungAlleKarteiPersoenlicheDaten") = True Then
    Load frmPin2
    frmPin2.Tag = "MitarbeiterBearbeitenNurPersoenlicheDaten"
    frmPin2.Show 1
  ElseIf modRechte.MitarbeiterRecht(VarKellner, "MitarbeiterVerwaltungSeineKarteiPersoenlicheDaten") = True Then
    If VarKellner = frmKellner.ListViewKellner.SelectedItem.Text Then
      Load frmPin2
      frmPin2.Tag = "MitarbeiterBearbeitenNurPersoenlicheDaten"
      frmPin2.Show 1
    Else
       MsgBox "Sie haben nicht die nötigen Rechte, um diese Aktion auszuführen"
    End If
  Else
    MsgBox "Sie haben nicht die nötigen Rechte, um diese Aktion auszuführen"
  End If
End Sub
Private Sub mnuBearbeitenhhhhhhhhhhh_Click()
If VarKellner = VarMitarbeiterNameClick Then
  If modRechte.MitarbeiterRecht(VarKellner, "MitarbeiterVerwaltungSeineKartei") = False Then
     MsgBox "Sie haben nicht die nötigen Rechte, um diese Aktion auszuführen"
     Exit Sub
  Else
     Load frmPin2
     frmPin2.Tag = "MitarbeiterVerwaltungSeineKartei"
     frmPin2.Show 1
     Exit Sub
  End If
End If

If VarKellner <> VarMitarbeiterNameClick Then
  If modRechte.MitarbeiterRecht(VarKellner, "MitarbeiterVerwaltungAlleKartei") = False Then
    MsgBox "Sie haben nicht die nötigen Rechte, um diese Aktion auszuführen"
    Exit Sub
  Else
    Load frmPin2
    frmPin2.Tag = "MitarbeiterVerwaltungAlleKartei"
    frmPin2.Show 1
  End If
End If
End Sub
Private Sub mnuLoeschen_Click()
 If modRechte.MitarbeiterRecht(VarKellner, "MitarbeiterVerwaltungUneingeschrenkt") = True Then
    Load frmPin2
    frmPin2.Tag = "MitarbeiterLoeschen"
    frmPin2.Show 1
 Else
    MsgBox "Sie haben nicht die nötigen Rechte, um diese Aktion auszuführen"
 End If
End Sub

'====================== LIST VIEW EREIGNISSE ==========================
'======================================================================
Private Sub ListViewKellner_BeforeLabelEdit(Cancel As Integer)
For I = 1 To 5
 SendKeys "{ESC}"
Next I
End Sub
Private Sub ListViewKellner_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

If ListViewKellner.HitTest(X, Y) Is Nothing Then
  VarHitTest = False
  mnuNeuerMitarbeiter.Enabled = True
  mnuBearbeiten = False
  mnuLoeschen = False
Else
  VarHitTest = True
  mnuNeuerMitarbeiter.Enabled = True
  mnuBearbeiten = True
  mnuLoeschen = True
End If


 If Not modListItemCheck.LvwListItemCheck(ListViewKellner, X, Y) Then
  modListSubItemCheck.LvwListSubItemCheck ListViewKellner, X, Y
 End If
If VarIndexClick = Empty Then
 VarIndexClick = 1
End If
If Button = 2 And ListViewKellner.ListItems(VarIndexClick).Selected = True Then
  PopupMenu mnuMitarbeiter
  
End If

End Sub
Private Sub ListViewKellner_DblClick()

If VarHitTest = False Then Exit Sub

  If modRechte.MitarbeiterRecht(VarKellner, "MitarbeiterVerwaltungUneingeschrenkt") = True Then
    Load frmPin2
    frmPin2.Tag = "MitarbeiterBearbeitenUneingeschrenkt"
    frmPin2.Show 1
  ElseIf modRechte.MitarbeiterRecht(VarKellner, "MitarbeiterVerwaltungAlleKarteiPersoenlicheDaten") = True Then
    Load frmPin2
    frmPin2.Tag = "MitarbeiterBearbeitenNurPersoenlicheDaten"
    frmPin2.Show 1
  ElseIf modRechte.MitarbeiterRecht(VarKellner, "MitarbeiterVerwaltungSeineKarteiPersoenlicheDaten") = True Then
    If VarKellner = frmKellner.ListViewKellner.SelectedItem.Text Then
      Load frmPin2
      frmPin2.Tag = "MitarbeiterBearbeitenNurPersoenlicheDaten"
      frmPin2.Show 1
    Else
       MsgBox "Sie haben nicht die nötigen Rechte, um diese Aktion auszuführen"
    End If
  Else
    MsgBox "Sie haben nicht die nötigen Rechte, um diese Aktion auszuführen"
  End If

End Sub
Private Sub ListViewKellner_ItemClick(ByVal Item As MSComctlLib.ListItem)
VarMitarbeiterNameClick = Item.Text
VarIndexClick = Item.Index
End Sub
Private Sub ListViewKellner_ItemCheck(ByVal Item As MSComctlLib.ListItem)
   
 Item.Selected = True
 
 If modRechte.MitarbeiterRecht(VarKellner, "MitarbeiterVerwaltungUneingeschrenkt") = True Then
     If AdminKeyAbfrage(Item.Text) = True Then
        MsgBox "Dieser Mitarbeiter besitzt Admin-Rechte und kann nicht gesperrt werden."
        Select Case Item.Checked
        Case False
           Item.Checked = True
        Case True
           Item.Checked = False
        End Select
        Exit Sub
     End If
    
    Load frmPin2
    frmPin2.Tag = "MitarbeiterSperren"
    frmPin2.Show 1
 ElseIf modRechte.MitarbeiterRecht(VarKellner, "AndereMitarbeiterSperren") = True And modRechte.MitarbeiterRecht(Item.Text, "MitarbeiterVerwaltungUneingeschrenkt") = False Then
    Load frmPin2
    frmPin2.Tag = "MitarbeiterSperren"
    frmPin2.Show 1
 Else
     MsgBox "Sie haben nicht die nötigen Rechte, um diese Aktion auszuführen"
     Select Case Item.Checked
     Case False
       Item.Checked = True
     Case True
       Item.Checked = False
     End Select
 End If

10 VarZahler = 0

For I = 1 To ListViewKellner.ListItems.Count
  If ListViewKellner.ListItems(I).Checked = False Then
   VarZahler = VarZahler + 1
  End If
Next I

If VarZahler = ListViewKellner.ListItems.Count Then
  MsgBox "Es muss mindestes ein Kellner aktiv sein"
Item.Checked = True
Else
  
End If





'Call ListViewKellnerSpeichern("ListItem", Item.Index, 1, Item.Checked)





End Sub

'================================== PROZEDUREN ==========================
'======================================================================
Sub ListViewKellnerSpeichern(VarName, VarZeile, VarSpalte, VarCheckBox As Boolean)

Dim objConn As ADODB.Connection
Dim rsKellner As ADODB.Recordset

Set objConn = New ADODB.Connection
Set rsKellner = New ADODB.Recordset

Dim strPath As String

  On Error GoTo err_Handler

  strPath = App.Path
  If Right$(strPath, 1) <> "\" Then strPath = strPath & "\"

 
  With objConn
    .Provider = "Microsoft Jet 4.0 OLE DB Provider"
    .Properties("Jet OLEDB:Database Password") = VarPasswordDatenbank
    .Properties("Jet OLEDB:Database Password") = VarPasswordDatenbank
    .ConnectionString = "Data Source=" & VarDatenbank
    .CursorLocation = adUseClient
    .Open
  End With


  With rsKellner
    .ActiveConnection = objConn
    .CursorLocation = adUseClient
    .LockType = adLockOptimistic
    .Source = "Select *FROM Kellner"
    .Open
  End With
 rsKellner.AbsolutePosition = VarZeile
  
  If VarCheckBox = True Then
      'VarKellner = rsKellner.Fields("Mitarbeiter").Value
  End If
        With rsKellner
         .AbsolutePosition = VarZeile
           Select Case VarName
             Case "ListSubItem"
              .Fields(VarSpalte + 46).Value = VarCheckBox
             
             Case "ListItem"
               If VarCheckBox = True Then
                 .Fields(1).Value = "aktiviert"
                Else
                 .Fields(1).Value = "deaktiviert"
            End If
            End Select
         .Update
         End With
 
Set rsKellner = Nothing
Set objConn = Nothing
exit_Sub:
  On Error GoTo 0
  Exit Sub

err_Handler:
  MsgBox "Fehlernummer " & Err.Number & Chr$(13) & Error$(Err), _
            vbCritical, "Fehler"
    
  Resume exit_Sub
Set rsKellner = Nothing
Set objConn = Nothing

End Sub
Sub ListViewKellnerFuelen()

Dim objConn As ADODB.Connection
Dim rsKellner As ADODB.Recordset
  
Set objConn = New ADODB.Connection
Set rsKellner = New ADODB.Recordset

Dim strPath As String

  On Error GoTo err_Handler

  strPath = App.Path
  If Right$(strPath, 1) <> "\" Then strPath = strPath & "\"

 
  With objConn
    .Provider = "Microsoft Jet 4.0 OLE DB Provider"
    .Properties("Jet OLEDB:Database Password") = VarPasswordDatenbank
    .Properties("Jet OLEDB:Database Password") = VarPasswordDatenbank
    .ConnectionString = "Data Source=" & VarDatenbank
    .CursorLocation = adUseClient
    .Open
  End With


  With rsKellner
    .ActiveConnection = objConn
    '.CursorLocation = adUseClient
    .LockType = adLockPessimistic
    .Open "Select *FROM Kellner"
  End With
  
   ListViewKellner.ListItems.Clear
   ListViewKellner.View = lvwReport
   ListViewKellner.GridLines = True
   ListViewKellner.FullRowSelect = True
   ListViewKellner.Checkboxes = True
   

While Not rsKellner.EOF
    Index = rsKellner.AbsolutePosition
    ListViewKellner.ListItems.Add , , rsKellner.Fields("Mitarbeiter").Value 'Hauptelemente einfügen
    If rsKellner.Fields("Status").Value = "aktiviert" Then
      ListViewKellner.ListItems(Index).Checked = True
    Else
     ListViewKellner.ListItems(Index).Checked = False
  End If
       For I = 47 To rsKellner.Fields.Count - 1
        If Not IsNull(rsKellner.Fields(I).Value) Then
             Select Case rsKellner.Fields(I).Value
             Case 0
               ListViewKellner.ListItems(Index).ListSubItems.Add , , "deaktiviert", "0A"
             Case -1
               ListViewKellner.ListItems(Index).ListSubItems.Add , , "aktiviert", "1A"
             End Select
         End If
       Next I
       VarZaeler = 0
       If Index = 1 And ListViewKellner.ColumnHeaders.Count < 1 Then
         ListViewKellner.ColumnHeaders.Add , , "Mitarbeiter", 0.3 * ListViewKellner.Width
         For k = 47 To rsKellner.Fields.Count - 1
           If k < rsKellner.Fields.Count - 1 Then
            VarZaeler = VarZaeler + 1
            ListViewKellner.ColumnHeaders.Add , , rsKellner.Fields(k).Name, 0.1 * ListViewKellner.Width
           Else
            ListViewKellner.ColumnHeaders.Add , , rsKellner.Fields(k).Name, ListViewKellner.Width - ListViewKellner.ColumnHeaders(1).Width - (VarZaeler) * ListViewKellner.ColumnHeaders(VarZaeler + 1).Width
           End If
         Next k
       End If
        rsKellner.MoveNext   ' Nächster Datensatz.
Wend


Set rsKellner = Nothing
Set objConn = Nothing
exit_Sub:
  On Error GoTo 0
  Exit Sub

err_Handler:
  MsgBox "Fehlernummer " & Err.Number & Chr$(13) & Error$(Err), _
            vbCritical, "Fehler"
    
  Resume exit_Sub
Set rsKellner = Nothing
Set objConn = Nothing

End Sub
Function AdminKeyAbfrage(VarMitarbeiterLokal) As Boolean
Dim objConn As ADODB.Connection
Dim rsAdminKeyPrueffen As ADODB.Recordset

Set objConn = New ADODB.Connection
Set rsAdminKeyPrueffen = New ADODB.Recordset

Dim strPath As String

  On Error GoTo err_Handler

  strPath = App.Path
  If Right$(strPath, 1) <> "\" Then strPath = strPath & "\"


  With objConn
    .Provider = "Microsoft Jet 4.0 OLE DB Provider"
    .Properties("Jet OLEDB:Database Password") = VarPasswordDatenbank
    .ConnectionString = "Data Source=" & VarDatenbank
    .CursorLocation = adUseClient
    .Open
  End With
  With rsAdminKeyPrueffen
    .ActiveConnection = objConn
    '.CursorLocation = adUseClient
    .LockType = adLockPessimistic
    .Open "Select *FROM Kellner Where Mitarbeiter ='" & VarMitarbeiterLokal & "'"
  End With

If Not rsAdminKeyPrueffen.EOF Then
  If rsAdminKeyPrueffen.Fields("AdminKey").Value = "14111965" Then
    AdminKeyAbfrage = True
  Else
      AdminKeyAbfrage = False
  End If

End If

    
    Set rsAdminKeyPrueffen = Nothing
    Set objConn = Nothing
exit_Sub:
  On Error GoTo 0
  Exit Function

err_Handler:
  MsgBox "Fehlernummer " & Err.Number & Chr$(13) & Error$(Err), _
            vbCritical, "Fehler"
    
  Resume exit_Sub
Set rsAdminKeyPrueffen = Nothing
Set objConn = Nothing
End Function
Sub KellnerPositionieren()

frmKellner.Top = 0
frmKellner.Left = 0
frmKellner.Height = frmRaum.Height
frmKellner.Width = frmRaum.Width


frmKellner.ListViewKellner.Top = 0
frmKellner.ListViewKellner.Left = 0
frmKellner.ListViewKellner.Height = frmKellner.ScaleHeight
frmKellner.ListViewKellner.Width = frmStationen.ScaleWidth

End Sub
