VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Begin VB.Form frmSpeisekarteSuchen 
   BorderStyle     =   3  'Fester Dialog
   Caption         =   "Speisekarte"
   ClientHeight    =   7965
   ClientLeft      =   45
   ClientTop       =   345
   ClientWidth     =   12915
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   7965
   ScaleWidth      =   12915
   ShowInTaskbar   =   0   'False
   StartUpPosition =   3  'Windows-Standard
   Begin VB.CommandButton cmdBeenden 
      Caption         =   "Beenden"
      Height          =   600
      Left            =   8475
      TabIndex        =   8
      Top             =   5400
      Width           =   1300
   End
   Begin VB.CommandButton cmdUebernehmen 
      Caption         =   "Übernehmen"
      Height          =   600
      Left            =   6600
      TabIndex        =   7
      Top             =   5400
      Width           =   1300
   End
   Begin VB.Frame Frame1 
      Height          =   1410
      Left            =   1200
      TabIndex        =   0
      Top             =   480
      Width           =   7800
      Begin VB.TextBox txtSuchbegriff 
         Appearance      =   0  '2D
         Height          =   360
         Left            =   1725
         TabIndex        =   1
         Top             =   450
         Width           =   2670
      End
      Begin VB.CommandButton cmdSuchen 
         Caption         =   "Suchen"
         Height          =   500
         Left            =   4875
         TabIndex        =   2
         Top             =   375
         Width           =   1300
      End
      Begin VB.Label lblSuchbegriff 
         Alignment       =   1  'Rechts
         Caption         =   "Suchbegriff:"
         Height          =   240
         Left            =   480
         TabIndex        =   6
         Top             =   480
         Width           =   1095
      End
   End
   Begin VB.Frame Frame2 
      Height          =   2895
      Left            =   1200
      TabIndex        =   3
      Top             =   2400
      Width           =   6735
      Begin MSComctlLib.TreeView TreeViewWarengruppe 
         Height          =   2130
         Left            =   600
         TabIndex        =   4
         Top             =   300
         Width           =   3195
         _ExtentX        =   5636
         _ExtentY        =   3757
         _Version        =   393217
         LineStyle       =   1
         Style           =   7
         BorderStyle     =   1
         Appearance      =   1
         BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
            Name            =   "Tahoma"
            Size            =   9.75
            Charset         =   0
            Weight          =   700
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
      End
      Begin MSComctlLib.ListView ListViewArtikelgruppe 
         Height          =   2445
         Left            =   4275
         TabIndex        =   5
         Top             =   150
         Width           =   2055
         _ExtentX        =   3625
         _ExtentY        =   4313
         LabelWrap       =   -1  'True
         HideSelection   =   -1  'True
         _Version        =   393217
         ForeColor       =   -2147483640
         BackColor       =   -2147483643
         BorderStyle     =   1
         Appearance      =   1
         BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
            Name            =   "Tahoma"
            Size            =   9.75
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         NumItems        =   0
      End
   End
End
Attribute VB_Name = "frmSpeisekarteSuchen"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim MarkierterPLU
'====================== FORMULAR EREIGNISSE ===================
'==============================================================
Private Sub Form_Load()
'mnuGericht.Visible = False
'Toolbar1.Visible = False
Call Me.Positionieren
Call Me.Warengruppe
MarkierterPLU = "" 'List objekte sind nicht markiert
End Sub
'====================== COMMANDBUTTON EREIGNISSE ===================
'===================================================================
Private Sub cmdSuchen_Click()
For I = 1 To TreeViewWarengruppe.Nodes.Count
      ' Alle Knoten Schließen.
       TreeViewWarengruppe.Nodes(I).Expanded = False
   Next I
Call Me.Artikelgruppesuchen(Me.txtSuchbegriff.Text)
End Sub
Private Sub cmdUebernehmen_Click()
If MarkierterPLU = "" Then
    MsgBox "Bitte wähllen Sie ein Gericht aus"
Else
   frmArtikelgruppetaste.txtPLUSpeisekarte.Text = MarkierterPLU  'ListViewArtikelgruppe.SelectedItem.Text
   frmArtikelgruppetaste.txtGerichtSpeisekarte.Text = Me.ListViewArtikelgruppe.SelectedItem.SubItems(1)
End If
End Sub
Private Sub cmdBeenden_Click()
Unload Me
End Sub
'====================== TreeViewWarengruppe EREIGNISSE ===================
'=========================================================================
Private Sub TreeViewWarengruppe_BeforeLabelEdit(Cancel As Integer)
For I = 1 To 5
 SendKeys "{ESC}"
Next I
End Sub
Private Sub TreeViewWarengruppe_LostFocus()
TreeViewWarengruppe.SelectedItem.BackColor = &H8000000D
End Sub
Private Sub TreeViewWarengruppe_NodeClick(ByVal Node As MSComctlLib.Node)
MarkierterPLU = "" 'ListView objekte sind noch nicht markiert
For I = 1 To TreeViewWarengruppe.Nodes.Count
      ' Alle Knoten durchlaufen lassen
       TreeViewWarengruppe.Nodes(I).BackColor = &H80000005
       TreeViewWarengruppe.Nodes(I).ForeColor = &H80000012
   Next I
ListViewArtikelgruppe.Refresh
Call Me.Artikelgruppe(TreeViewWarengruppe.SelectedItem.Text)
End Sub
'====================== ListViewWarengruppe EREIGNISSE ===================
'=========================================================================
Private Sub ListViewArtikelgruppe_BeforeLabelEdit(Cancel As Integer)
For I = 1 To 5
 SendKeys "{ESC}"
Next I
End Sub
Private Sub ListViewArtikelgruppe_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
 If Button = 2 Then
  Set_MenuColor mMenuColor, MDIHauptmenu.Hwnd, &H80000016, 1, False
  Set_MenuColor mMenuBarColor, MDIHauptmenu.Hwnd, vbRed
  Set_MenuColor mSysMenuColor, MDIHauptmenu.Hwnd, vbYellow
  'PopupMenu mnuGericht
 End If
End Sub
Private Sub ListViewArtikelgruppe_ItemClick(ByVal Item As MSComctlLib.ListItem)
MarkierterPLU = ListViewArtikelgruppe.SelectedItem.Text
End Sub
'============================= PROZEDUREN =============================
'======================================================================
'--------- Suche nach Begriff in der Tabelle Artikelgruppe -----------
Sub Artikelgruppesuchen(VarBegriffSuche)
Dim objConn As ADODB.Connection
Dim rsArtikelgruppe As ADODB.Recordset

Set objConn = New ADODB.Connection
Set rsArtikelgruppe = 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=" & strPath & "asql.mdb"
    .CursorLocation = adUseClient
    .Open
  End With


  With rsArtikelgruppe
    .ActiveConnection = objConn
    '.CursorLocation = adUseClient
    .LockType = adLockPessimistic
    .Open "SELECT WG,PLU,Gericht,EPREIS FROM Artikelgruppe where PLU = '" & VarBegriffSuche & "' OR Gericht = '" & VarBegriffSuche & "'"
  End With
 

  'If rsArtikelgruppe.EOF = False Then
  'mnuGerichtBearbeiten.Enabled = True
  'mnuGerichtLoeschen.Enabled = True
  'Else
  'mnuGerichtBearbeiten.Enabled = False
  'mnuGerichtLoeschen.Enabled = False
  'End If
  
  
 
   ' Erstellen einer Variablen zum Hinzufügen
   ' von ListItem-Objekten.
   Dim itmX As ListItem
ListViewArtikelgruppe.ColumnHeaders.Clear
ListViewArtikelgruppe.ListItems.Clear
 ' Hinzufügen der Spaltenköpfe. Die Breite der
   ' Spalten entspricht der Breite des Steuerelements
   ' dividiert durch die Anzahl der Spalten.
   ListViewArtikelgruppe.ColumnHeaders.Add , , "PLU", 0.1 * ListViewArtikelgruppe.Width
   ListViewArtikelgruppe.ColumnHeaders.Add , , "Gericht", 0.7 * ListViewArtikelgruppe.Width 'lvwColumnCenter
   ListViewArtikelgruppe.ColumnHeaders.Add , , "EPREIS", 0.2 * ListViewArtikelgruppe.Width 'lvwColumnCenter

   ' View-Eigenschaft auf ReportKellnerBericht setzen.
   ListViewArtikelgruppe.View = lvwReport
    ListViewArtikelgruppe.GridLines = True
   ListViewArtikelgruppe.FullRowSelect = True


   ' Solange der aktuelle Datensatz nicht dem letzten
   ' Datensatz entspricht, werden weiter
   ' ListItem-Objekte hinzugefügt.
   ' Für Text des ListItem-Objekts wird das Feld
   ' "Name" verwendet.
   ' Für Unterelement 1 des ListItem-Objekts wird das
   ' Feld "Vorname" verwendet.
   ' Für Unterelement 2 des ListItem-Objekts wird das
   ' Feld "Year Born" verwendet.

   
   While Not rsArtikelgruppe.EOF
     
      Set itmX = ListViewArtikelgruppe.ListItems.Add(, , rsArtikelgruppe.Fields("PLU").Value)
      itmX.Tag = itmX.Index
      ' Wenn das Feld "Name" ungleich Null ist,
      ' Unterelement 1 auf dieses Feld setzen.

      If Not IsNull(rsArtikelgruppe.Fields("Gericht").Value) Then
         itmX.SubItems(1) = rsArtikelgruppe.Fields("Gericht").Value
      End If
      ' Wenn das Feld "Year Born" ungleich Null ist,
      ' Unterelement 2 auf dieses Feld setzen.
      If Not IsNull(rsArtikelgruppe.Fields("EPREIS").Value) Then
         itmX.SubItems(2) = Format(rsArtikelgruppe.Fields("EPREIS").Value, "####.00")
      'itmX.SubItems(2).Text =
     'ListViewArtikelgruppe.ListItems.Item(1).ListSubItems(2).Text = Format(rsArtikelgruppe.Fields("EPREIS").Value, "###,##0.00")
      End If
      rsArtikelgruppe.MoveNext   ' Nächster Datensatz.
   Wend

Set rsArtikelgruppe = 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 rsArtikelgruppe = Nothing
Set objConn = Nothing

End Sub












'---------Tabelle Warengruppe abfragen-------------

Sub Warengruppe()
Dim objConn As ADODB.Connection
Dim rsWarengruppe As ADODB.Recordset
Set objConn = New ADODB.Connection
Set rsWarengruppe = 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=" & strPath & "asql.mdb"
    .CursorLocation = adUseClient
    .Open
  End With


  With rsWarengruppe
    .ActiveConnection = objConn
    .CursorLocation = adUseClient
    .LockType = adLockOptimistic
    rsWarengruppe.Source = "Select *FROM Warengruppe"
    .Open
  
   End With
 
 TreeViewWarengruppe.Nodes.Clear
 'TreeViewWarengruppe.Nodes.Add , , "C", "Alle Warengruppe"

 TreeViewWarengruppe.Nodes.Add , , "G", "Getränke"
 
 TreeViewWarengruppe.Nodes.Add , , "S", "Speise"

  While Not rsWarengruppe.EOF
     If rsWarengruppe.Fields("IDWG").Value = "Getränke" Then
       TreeViewWarengruppe.Nodes.Add "G", tvwChild, , rsWarengruppe.Fields("WG").Value
    Else
     TreeViewWarengruppe.Nodes.Add "S", tvwChild, , rsWarengruppe.Fields("WG").Value
    End If
     rsWarengruppe.MoveNext
  Wend
 
 

Set rsWarengruppe = 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 rsWarengruppe = Nothing
Set objConn = Nothing


End Sub
'---------Tabelle Artikelgruppe abfragen-------------
Sub Artikelgruppe(VarWG)
Dim objConn As ADODB.Connection
Dim rsArtikelgruppe As ADODB.Recordset

Set objConn = New ADODB.Connection
Set rsArtikelgruppe = 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=" & strPath & "asql.mdb"
    .CursorLocation = adUseClient
    .Open
  End With


  With rsArtikelgruppe
    .ActiveConnection = objConn
    '.CursorLocation = adUseClient
    .LockType = adLockPessimistic
    .Open "SELECT WG,PLU,Gericht,EPREIS FROM Artikelgruppe where WG = '" & VarWG & "'"
  End With
  

  'If rsArtikelgruppe.EOF = False Then
  'mnuGerichtBearbeiten.Enabled = True
  'mnuGerichtLoeschen.Enabled = True
  'Else
  'mnuGerichtBearbeiten.Enabled = False
  'mnuGerichtLoeschen.Enabled = False
  'End If
  
  
 
   ' Erstellen einer Variablen zum Hinzufügen
   ' von ListItem-Objekten.
   Dim itmX As ListItem
ListViewArtikelgruppe.ColumnHeaders.Clear
ListViewArtikelgruppe.ListItems.Clear
 ' Hinzufügen der Spaltenköpfe. Die Breite der
   ' Spalten entspricht der Breite des Steuerelements
   ' dividiert durch die Anzahl der Spalten.
   ListViewArtikelgruppe.ColumnHeaders.Add , , "PLU", 0.15 * ListViewArtikelgruppe.Width
   ListViewArtikelgruppe.ColumnHeaders.Add , , "Gericht", 0.7 * ListViewArtikelgruppe.Width 'lvwColumnCenter
   ListViewArtikelgruppe.ColumnHeaders.Add , , "EPREIS", 0.2 * ListViewArtikelgruppe.Width 'lvwColumnCenter

   ' View-Eigenschaft auf ReportKellnerBericht setzen.
   ListViewArtikelgruppe.View = lvwReport
    ListViewArtikelgruppe.GridLines = True
   ListViewArtikelgruppe.FullRowSelect = True


   ' Solange der aktuelle Datensatz nicht dem letzten
   ' Datensatz entspricht, werden weiter
   ' ListItem-Objekte hinzugefügt.
   ' Für Text des ListItem-Objekts wird das Feld
   ' "Name" verwendet.
   ' Für Unterelement 1 des ListItem-Objekts wird das
   ' Feld "Vorname" verwendet.
   ' Für Unterelement 2 des ListItem-Objekts wird das
   ' Feld "Year Born" verwendet.

   
   While Not rsArtikelgruppe.EOF
     
      Set itmX = ListViewArtikelgruppe.ListItems.Add(, , rsArtikelgruppe.Fields("PLU").Value)
      itmX.Tag = itmX.Index
      ' Wenn das Feld "Name" ungleich Null ist,
      ' Unterelement 1 auf dieses Feld setzen.

      If Not IsNull(rsArtikelgruppe.Fields("Gericht").Value) Then
         itmX.SubItems(1) = rsArtikelgruppe.Fields("Gericht").Value
      End If
      ' Wenn das Feld "Year Born" ungleich Null ist,
      ' Unterelement 2 auf dieses Feld setzen.
      If Not IsNull(rsArtikelgruppe.Fields("EPREIS").Value) Then
         itmX.SubItems(2) = Format(rsArtikelgruppe.Fields("EPREIS").Value, "####.00")
      'itmX.SubItems(2).Text =
     'ListViewArtikelgruppe.ListItems.Item(1).ListSubItems(2).Text = Format(rsArtikelgruppe.Fields("EPREIS").Value, "###,##0.00")
      End If
      rsArtikelgruppe.MoveNext   ' Nächster Datensatz.
   Wend

Set rsArtikelgruppe = 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 rsArtikelgruppe = Nothing
Set objConn = Nothing

End Sub
Sub Positionieren()

Me.Height = 0.7 * MDIHauptmenu.ScaleHeight
Me.Width = 1.2 * frmArtikelgruppetaste.Width
Me.Left = (MDIHauptmenu.ScaleWidth - frmLink.Width) / 2 - Me.Width / 2
Me.Top = frmArtikelgruppetaste.Top + frmArtikelgruppetaste.Height - 200

Abstand = MDIHauptmenu.ScaleHeight / 70

Me.Frame1.Top = Abstand
Me.Frame1.Left = Abstand
Me.Frame1.Height = 0.2 * Me.ScaleHeight
Me.Frame1.Width = Me.ScaleWidth - 2 * Abstand

Me.lblSuchbegriff.Top = Me.Frame1.Height / 2 - Me.lblSuchbegriff.Height / 2
Me.lblSuchbegriff.Left = Me.ListViewArtikelgruppe.Left

Me.txtSuchbegriff.Top = Me.Frame1.Height / 2 - txtSuchbegriff.Height / 2
Me.txtSuchbegriff.Left = Me.lblSuchbegriff.Left + Me.lblSuchbegriff.Width + Abstand
Me.txtSuchbegriff.Width = 20 * Abstand

Me.cmdSuchen.Top = Me.Frame1.Height / 2 - cmdSuchen.Height / 2
Me.cmdSuchen.Left = Me.txtSuchbegriff.Left + Me.txtSuchbegriff.Width + Abstand



Me.Frame2.Top = Me.Frame1.Top + Me.Frame1.Height
Me.Frame2.Left = Me.Frame1.Left
Me.Frame2.Height = Me.ScaleHeight - Me.Frame1.Height - Me.cmdBeenden.Height - 3 * Abstand
Me.Frame2.Width = Me.Frame1.Width

Me.TreeViewWarengruppe.Top = 0
Me.TreeViewWarengruppe.Left = 0
Me.TreeViewWarengruppe.Height = Me.Frame2.Height
Me.TreeViewWarengruppe.Width = Me.Frame2.Width / 3

Me.ListViewArtikelgruppe.Top = 0
Me.ListViewArtikelgruppe.Left = Me.TreeViewWarengruppe.Left + Me.TreeViewWarengruppe.Width
Me.ListViewArtikelgruppe.Height = Me.Frame2.Height
Me.ListViewArtikelgruppe.Width = Me.Frame2.Width - Me.TreeViewWarengruppe.Width

Me.cmdBeenden.Top = Me.ScaleHeight - Me.cmdBeenden.Height - Abstand
Me.cmdBeenden.Left = Me.ScaleWidth - Me.cmdBeenden.Width - Abstand

Me.cmdUebernehmen.Top = Me.cmdBeenden.Top
Me.cmdUebernehmen.Left = Me.cmdBeenden.Left - Me.cmdUebernehmen.Width - 2 * Abstand

End Sub

