Aplikační formulář Přehled palet
Přehled palet - přehled obslužných procedur
 Tisk

Přehled palet - přehled obslužných procedur

Aktuální stav aplikace

Aktuální stav aplikace si můžete stáhnout zde .


Přehled obslužných procedur

Public Class frmPrehPalet

#Region "Udalosti formulare"

    Private Sub frmPrehPalet_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Me.Cursor = Cursors.WaitCursor

        'TODO: This line of code loads data into the 'DsPaletyMaterial.tblTyp_Pa' table. You can move, or remove it, as needed.

        Me.TblTyp_PaTableAdapter.Fill(Me.DsPaletyMaterial.tblTyp_Pa)

        'TODO: This line of code loads data into the 'DsPaletyMaterial.tblMaterial' table. You can move, or remove it, as needed.

        Me.TblMaterialTableAdapter.Fill(Me.DsPaletyMaterial.tblMaterial)

        'TODO: This line of code loads data into the 'DsPaletyMaterial.tblPalety' table. You can move, or remove it, as needed.

        Me.TblPaletyTableAdapter.Fill(Me.DsPaletyMaterial.tblPalety)

        Me.Cursor = Cursors.Default

    End Sub

#End Region



#Region "Navigace"

#Region "Ridici tlacitka"

    Private Sub btnZavrit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnZavrit.Click

        'zavrit tento formular

        Me.Cursor = Cursors.WaitCursor

        Dim frmRidici As New frmRidici

        frmRidici.MdiParent = MyFrmHlavni

        frmRidici.Show()


        Me.Close()


        Me.Cursor = Cursors.Default

    End Sub


    Private Sub btnPrvni_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrvni.Click

        'najit prvni zaznam

        Me.TblPaletyBindingSource.MoveFirst()

        Me.dgvTblPalety.Focus()

    End Sub


    Private Sub btnPosledni_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPosledni.Click

        'najit posledni zaznam

        Me.TblPaletyBindingSource.MoveLast()

        Me.dgvTblPalety.Focus()

    End Sub


    Private Sub btnVolnePalety_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVolnePalety.Click

        'zobrazi se fomular, kde bude seznam volnych palet

        Dim frmVolnePaletyPom As New frmVolnePalety

        frmVolnePaletyPom.ShowDialog()

    End Sub


    Private Sub btnRezervace_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRezervace.Click

        'umozni se vybrat material, ktery se bude skladovat v palete

        Me.pnlNavig.Enabled = False

        Me.pnlEdit.Enabled = False

        Me.pnlStav.Enabled = False

        Me.pnlPrirad.Enabled = False

        Me.btnZavrit.Enabled = False

        Me.dgvTblPalety.Enabled = False


        Me.pnlPotvrdit.Visible = True


        Me.cmbCislo_Mat.Enabled = True

        Me.cmbCislo_Mat.DropDownStyle = ComboBoxStyle.DropDownList   'umoznuje vybrat poze ze seznamu

        Me.cmbCislo_Mat.Focus()


    End Sub

#End Region

#End Region


#Region "Hledani"


    Private Sub btnNajit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNajit.Click

        Me.pnlNavig.Enabled = False

        Me.pnlEdit.Enabled = False

        Me.pnlStav.Enabled = False

        Me.pnlPrirad.Enabled = False

        Me.pnlZmenaObsahuPalety.Enabled = False

        Me.btnZavrit.Enabled = False


        Me.lblCislo.Visible = True

        Me.pnlNajit.Visible = True

        Me.txtNajit.Text = ""

        Me.txtNajit.Focus()

        'Me.Refresh()


    End Sub


    Private Sub btnNajitAno_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNajitAno.Click

        Me.pnlNavig.Enabled = True

        Me.pnlEdit.Enabled = True

        Me.pnlStav.Enabled = True

        Me.pnlPrirad.Enabled = True

        Me.pnlZmenaObsahuPalety.Enabled = True

        Me.btnZavrit.Enabled = True


        '     Nastavení na hledání podle části klíče

        Dim foundIndex As Integer

        foundIndex = SearchRows(Me.TblPaletyBindingSource, "Cislo_Pa", Me.txtNajit.Text)

        If foundIndex > -1 Then

            Me.TblPaletyBindingSource.Position = foundIndex

        End If


        'zneviditelneni zadavaciho pole

        Me.lblCislo.Visible = False

        Me.pnlNajit.Visible = False

        Me.txtNajit.Text = ""

    End Sub


    Private Sub btnNajitZrušit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNajitZrušit.Click

        'zpristupneni tlacitek

        Me.pnlNavig.Enabled = True

        Me.pnlEdit.Enabled = True

        Me.pnlStav.Enabled = True

        Me.pnlPrirad.Enabled = True

        Me.btnZavrit.Enabled = True


        'zneviditelneni zadavaciho pole

        Me.lblCislo.Visible = False

        Me.pnlNajit.Visible = False

        Me.txtNajit.Text = ""

    End Sub


#End Region


#Region "Editace zaznamu"

#Region "Ridici tlacitka"

    Private Sub btnOdstranit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOdstranit.Click

        Dim vys As MsgBoxResult

        If Me.txtMnoz_Pa.Text <> 0 Then

            MsgBox("Nelze odstanit paletu s nenulovým obsahem", MsgBoxStyle.Information Or MsgBoxStyle.OkOnly)

        Else

            vys = MsgBox("Opravdu zrušit paletu " & TblPaletyBindingSource.Current("Cislo_Pa") & "?", MsgBoxStyle.YesNo Or MsgBoxStyle.Question, "Smazat")

            If vys = MsgBoxResult.Yes Then

                'Odpoved byla "ano"

                Me.TblPaletyBindingSource.RemoveCurrent()


            End If

        End If

    End Sub


    Private Sub btnZmenit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnZmenit.Click

        'zablokovat jiné možnosti, než změnu materiálu

        'Kontrola, že paleta je vyskladněná

        If Me.TblPaletyBindingSource.Current("Stav_pa") <> "V" Then

            MsgBox("Paleta " + TblPaletyBindingSource.Current("Cislo_Pa") + " není vyskladněná ", MsgBoxStyle.OkOnly)

            Exit Sub

        End If


        Me.pnlNavig.Enabled = False

        Me.pnlEdit.Enabled = False

        Me.pnlStav.Enabled = False

        Me.pnlPrirad.Enabled = False

        Me.btnZavrit.Enabled = False

        Me.dgvTblPalety.Enabled = False


        'zviditelnit potvrzovací skupinu

        Me.pnlPotvrdit.Visible = True


        'uvolnit pole pro editaci

        Me.txtAdr_Ulo.Enabled = True

        Me.txtAdr_Ulo.Focus()

    End Sub


    Private Sub btnUlozit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUlozit.Click

        Dim num As Integer

        Try

            Me.Validate()

            Me.TblPaletyBindingSource.EndEdit()


            Me.TableAdapterManager.UpdateAll(Me.DsPaletyMaterial)


            If cmbCislo_Mat.Enabled Then

                Me.cmbCislo_Mat.Enabled = False

                Me.cmbCislo_Mat.DropDownStyle = ComboBoxStyle.DropDown

            End If


            Me.pnlNavig.Enabled = True

            Me.pnlEdit.Enabled = True

            Me.pnlStav.Enabled = True

            Me.btnZavrit.Enabled = True

            Me.pnlPrirad.Enabled = True

            Me.dgvTblPalety.Enabled = True


            If Integer.TryParse(Me.cmbCislo_Mat.Text, num) Then

                Me.btnZmenaObsahuPalety.Enabled = True

                Me.btnRezervace.Enabled = False

            Else

                Me.btnZmenaObsahuPalety.Enabled = False

                Me.btnRezervace.Enabled = True

            End If


            Me.pnlPotvrdit.Visible = False


            Me.txtAdr_Ulo.Enabled = False

            Me.cmbTyp_pa.Enabled = False

            Me.cmbCislo_Mat.Enabled = False


        Catch ex As Exception

            MsgBox(ex.ToString, MsgBoxStyle.Critical Or MsgBoxStyle.OkOnly, "Chyba")

        End Try

    End Sub


    Private Sub btnVratit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVratit.Click

        'Odvolání změn

        Dim num As Integer


        If cmbCislo_Mat.Enabled Then

            Me.cmbCislo_Mat.Enabled = False

            Me.cmbCislo_Mat.DropDownStyle = ComboBoxStyle.DropDown

        End If


        Me.TblPaletyBindingSource.CancelEdit()


        Me.pnlNavig.Enabled = True

        Me.pnlEdit.Enabled = True

        Me.pnlStav.Enabled = True

        Me.btnZavrit.Enabled = True

        Me.pnlPrirad.Enabled = True

        Me.dgvTblPalety.Enabled = True


        If Integer.TryParse(Me.cmbCislo_Mat.Text, num) Then

            Me.btnZmenaObsahuPalety.Enabled = True

            Me.btnRezervace.Enabled = False

        Else

            Me.btnZmenaObsahuPalety.Enabled = False

            Me.btnRezervace.Enabled = True

        End If


        Me.pnlPotvrdit.Visible = False


        Me.txtAdr_Ulo.Enabled = False

        Me.cmbTyp_pa.Enabled = False

        Me.cmbCislo_Mat.Enabled = False


    End Sub


    Private Sub btnVlozit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVlozit.Click

        'zablokovat jiné možnosti, než vlozeni palety

        Me.pnlNavig.Enabled = False

        Me.pnlEdit.Enabled = False

        Me.pnlStav.Enabled = False

        Me.btnZavrit.Enabled = False

        Me.pnlPrirad.Enabled = False

        Me.btnZmenaObsahuPalety.Enabled = False

        Me.btnZavrit.Enabled = False

        Me.dgvTblPalety.Enabled = False


        Me.lblCislo.Visible = True

        Me.pnlVlozit.Visible = True

        Me.mtxtVlozit.Text = ""

        Me.mtxtVlozit.Focus()


    End Sub


#End Region

#Region "Tlacitka zmeny stavu"

    Private Sub btnZaskladnit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnZaskladnit.Click

        Me.TblPaletyBindingSource.Current("Stav_Pa") = "D"

        Me.TblPaletyBindingSource.EndEdit()

        Me.TableAdapterManager.UpdateAll(Me.DsPaletyMaterial)


        Me.btnZaskladnit.Enabled = False

        Me.btnZaskladneno.Enabled = True

        Me.btnVyskladneno.Enabled = True


    End Sub


    Private Sub btnVyskladnit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVyskladnit.Click

        Me.TblPaletyBindingSource.Current("Stav_Pa") = "D"

        Me.TblPaletyBindingSource.EndEdit()

        Me.TableAdapterManager.UpdateAll(Me.DsPaletyMaterial)


        Me.btnZaskladneno.Enabled = True

        Me.btnVyskladneno.Enabled = True

        Me.btnVyskladnit.Enabled = False

    End Sub


    Private Sub btnVyskladneno_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVyskladneno.Click

        Me.TblPaletyBindingSource.Current("Stav_Pa") = "V"

        Me.TblPaletyBindingSource.EndEdit()

        Me.TableAdapterManager.UpdateAll(Me.DsPaletyMaterial)


        Me.btnZaskladnit.Enabled = True

        Me.btnZaskladneno.Enabled = False

        Me.btnVyskladneno.Enabled = False


    End Sub


    Private Sub btnZaskladneno_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnZaskladneno.Click

        Me.TblPaletyBindingSource.Current("Stav_Pa") = "Z"

        Me.TblPaletyBindingSource.EndEdit()

        Me.TableAdapterManager.UpdateAll(Me.DsPaletyMaterial)


        Me.btnZaskladneno.Enabled = False

        Me.btnVyskladneno.Enabled = False

        Me.btnVyskladnit.Enabled = True

    End Sub

#End Region


#Region "Vlozeni noveho zaznamu"

    Private Sub btnVlozitPotvrdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVlozitPotvrdit.Click

        Dim foundIndex As Integer

        Dim VkladanyText As String = Me.mtxtVlozit.Text.Trim

        If VkladanyText.Length < 4 Then

            MsgBox("Číslo palety 0000 až 9999", MsgBoxStyle.Information Or MsgBoxStyle.OkOnly, "Chyba")

            Exit Sub

        End If


        foundIndex = Me.TblPaletyBindingSource.Find("Cislo_Pa", VkladanyText)

        If foundIndex >= 0 Then

            MsgBox("Taková paleta již existuje", MsgBoxStyle.Information Or MsgBoxStyle.OkOnly)



        Else


            Me.lblCislo.Visible = False

            Me.pnlVlozit.Visible = False


            Me.pnlPotvrdit.Visible = True

            Me.txtAdr_Ulo.Enabled = True

            Me.cmbTyp_pa.Enabled = True


            'nastaveni pocatecnich hodnot pro nove zaznamy

            With Me.DsPaletyMaterial.tblPalety

                .Cislo_PaColumn.DefaultValue = Me.mtxtVlozit.Text.Trim

                .Adr_UloColumn.DefaultValue = "Mimo"

                .Typ_paColumn.DefaultValue = "M"

                .Stav_PaColumn.DefaultValue = "V"

                .Mnoz_PaColumn.DefaultValue = 0

                .KomentColumn.DefaultValue = ""

            End With


            Me.TblPaletyBindingSource.AddNew()


            Me.txtAdr_Ulo.Focus()


        End If

    End Sub


    Private Sub btnVlozitZrusit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVlozitZrusit.Click

        'obnovení tlačítek

        Me.pnlNavig.Enabled = True

        Me.pnlEdit.Enabled = True

        Me.pnlStav.Enabled = True

        Me.btnZavrit.Enabled = True

        Me.pnlPrirad.Enabled = True

        Me.dgvTblPalety.Enabled = True


        If Me.cmbCislo_Mat.Text.Trim <> "" Then

            Me.btnZmenaObsahuPalety.Enabled = True

            Me.btnRezervace.Enabled = False

        Else

            Me.btnZmenaObsahuPalety.Enabled = False

            Me.btnRezervace.Enabled = True

        End If


        Me.lblCislo.Visible = False

        Me.pnlVlozit.Visible = False


    End Sub


    Private Sub mtxtVlozit_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles mtxtVlozit.TextChanged

        Dim VkladanyText As String = Me.mtxtVlozit.Text.Trim


        Me.ErrorProvider.SetError(sender, "")

        If VkladanyText.Length < 4 Then

            Me.ErrorProvider.SetError(Me.mtxtVlozit, "Číslo palety 0000 až 9999")

        End If


    End Sub


#End Region


#Region "Zmena obsahu palety"

    Private Sub btnZmenaObsahuPalety_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnZmenaObsahuPalety.Click

        'Kontrola, že paleta je vyskladněná

        If Me.TblPaletyBindingSource.Current("Stav_pa") <> "V" Then

            MsgBox("Paleta " + Me.TblPaletyBindingSource.Current("Cislo_Pa") + " není vyskladněna ")

            Exit Sub 'prerusime proceduru

        End If


        'Deaktivace ostatnich ovladacich tlacitek

        Me.pnlNavig.Enabled = False

        Me.pnlEdit.Enabled = False

        Me.pnlStav.Enabled = False

        Me.pnlPrirad.Enabled = False

        Me.btnZavrit.Enabled = False

        Me.dgvTblPalety.Enabled = False


        'Zprovozneni (aktivace) potvrzovacich tlacitek

        Me.pnlPotvrdit.Enabled = True


        'Aktivace polí pro zadávání ukládání do palety

        Me.mtxtMnozstvi.Visible = True

        Me.mtxtMnozstvi.Text = 0

        Me.lblMnozstvi.Visible = True

        Me.grbPridatUbrat.Visible = True

        Me.btnMnozstviZmen.Visible = True

        Me.btnMnozstviZrus.Visible = True


        Me.mtxtMnozstvi.Focus()

        Me.mtxtMnozstvi.SelectAll()

    End Sub


    Private Sub rdbPridatPaletu_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles rdbPridatPaletu.Click

        Me.mtxtMnozstvi.Focus()

        Me.mtxtMnozstvi.SelectAll()

        ErrorProvider.SetError(Me.mtxtMnozstvi, "")

    End Sub


    Private Sub rdbUbratPaletu_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles rdbUbratPaletu.Click

        Me.mtxtMnozstvi.Focus()

        Me.mtxtMnozstvi.SelectAll()

        ErrorProvider.SetError(Me.mtxtMnozstvi, "")

    End Sub


    Private Sub mtxtMnozstvi_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles mtxtMnozstvi.GotFocus

        If Me.rdbPridatPaletu.Checked Then

            'Pridava se

            Me.mtxtMnozstvi.Text = Me.txtMnoz_Do_Pa.Text - Me.txtMnoz_Pa.Text

        Else

            'Ubírá se

            Me.mtxtMnozstvi.Text = Me.txtMnoz_Pa.Text

        End If


    End Sub


    Private Sub mtxtMnozstvi_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles mtxtMnozstvi.Validating

        'Kontrola, že zadané množství je kladné

        ErrorProvider.SetError(Me.mtxtMnozstvi, "")

        If mtxtMnozstvi.Text.Trim <> "" Then

            If CInt(mtxtMnozstvi.Text) < 0 Then

                MsgBox("Množství musí být >= 0")

                ErrorProvider.SetError(Me.mtxtMnozstvi, "Množství musí být >= 0")

                Exit Sub

            End If

            'Kontrola, že zadané množství nepřesáhne max. do pal.

            If rdbPridatPaletu.Checked Then

                'Přidávání do palety

                If CInt(Me.txtMnoz_Pa.Text) + CInt(Me.mtxtMnozstvi.Text) > CInt(Me.txtMnoz_Do_Pa.Text) Then

                    MsgBox("Vkládané množství přesáhne max. do pal.")

                    ErrorProvider.SetError(Me.mtxtMnozstvi, "Vkládané množství přesáhne max. do pal.")

                End If

            Else

                'Vybírání z palety

                If CInt(Me.txtMnoz_Pa.Text) < CInt(Me.mtxtMnozstvi.Text) Then

                    MsgBox("Tolik v paletě není")

                    ErrorProvider.SetError(Me.mtxtMnozstvi, "Tolik v paletě není. Max. množství je " & Me.txtMnoz_Pa.Text)

                End If


            End If

        Else

            'neni nic zadane

            ErrorProvider.SetError(Me.mtxtMnozstvi, "Množství musí být >= 0")

        End If


    End Sub


    Private Sub btnMnozstviZrus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMnozstviZrus.Click

        'Zneviditelnění zadávání materiálu do palety

        Me.mtxtMnozstvi.Visible = False

        Me.lblMnozstvi.Visible = False

        Me.grbPridatUbrat.Visible = False

        Me.btnMnozstviZmen.Visible = False

        Me.btnMnozstviZrus.Visible = False


        'aktivace ostatnich ovladacich tlacitek

        Me.pnlNavig.Enabled = True

        Me.pnlEdit.Enabled = True

        Me.pnlStav.Enabled = True

        Me.pnlPrirad.Enabled = True

        Me.btnZavrit.Enabled = True

        Me.dgvTblPalety.Enabled = True


    End Sub


    Private Sub btnMnozstviZmen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMnozstviZmen.Click

        'Kontrola, že zadané množství je kladné

        ErrorProvider.SetError(Me.mtxtMnozstvi, "")

        If mtxtMnozstvi.Text.Trim <> "" Then

            If CInt(mtxtMnozstvi.Text) < 0 Then

                Exit Sub

            End If

            'Kontrola, že zadané množství nepřesáhne max. do pal.

            If rdbPridatPaletu.Checked Then

                'Přidávání do palety

                If CInt(Me.txtMnoz_Pa.Text) + CInt(Me.mtxtMnozstvi.Text) <= CInt(Me.txtMnoz_Do_Pa.Text) Then

                    Me.txtMnoz_Pa.Text = CInt(Me.txtMnoz_Pa.Text) + CInt(Me.mtxtMnozstvi.Text)

                    Me.txtMnoz_Celk.Text = CInt(Me.txtMnoz_Celk.Text) + CInt(Me.mtxtMnozstvi.Text)


                    Me.TblPaletyBindingSource.EndEdit()

                    Me.TableAdapterManager.UpdateAll(Me.DsPaletyMaterial)


                    'vypocitame celkove mnozstvi pomoci agregacni funkce

                    CelkoveMnozstvi()

                Else

                    Exit Sub

                End If

            Else

                'Vybírání z palety

                If CInt(Me.txtMnoz_Pa.Text) >= CInt(Me.mtxtMnozstvi.Text) Then

                    Me.txtMnoz_Pa.Text = CInt(Me.txtMnoz_Pa.Text) - CInt(Me.mtxtMnozstvi.Text)

                Else

                    Exit Sub

                End If


                'Je paleta prázdná ?

                If CInt(Me.txtMnoz_Pa.Text) = 0 Then

                    If MsgBox("Vybráno všechno. Označit paletu s materiálem " & Me.txtNazev_Mat.Text & " jako volnou?", MsgBoxStyle.YesNo Or MsgBoxStyle.Question) = MsgBoxResult.Yes Then

                        'ano, označit jako volnou

                        Me.TblPaletyBindingSource.Current("cislo_mat") = DBNull.Value

                        Me.btnRezervace.Enabled = True

                    End If

                End If


                Me.TblPaletyBindingSource.EndEdit()

                Me.TableAdapterManager.UpdateAll(Me.DsPaletyMaterial)


                'vypocitame celkove mnozstvi pomoci agregacni funkce

                CelkoveMnozstvi()


                'Bylo dosaženo minima ?

                Try

                    If CInt(Me.txtMnoz_Celk.Text) <= CInt(Me.txtMnoz_Poj.Text) Then

                        MsgBox("Pozor, dosaženo minima")

                    End If

                Catch ex As Exception

                    'neni paleta prirazena k materialu, tak predchozi test hodi chybu

                End Try

            End If


            'Zneviditelnění zadávání materiálu do palety

            Me.mtxtMnozstvi.Visible = False

            Me.lblMnozstvi.Visible = False

            Me.grbPridatUbrat.Visible = False

            Me.btnMnozstviZmen.Visible = False

            Me.btnMnozstviZrus.Visible = False


            'aktivace ostatnich ovladacich tlacitek

            Me.pnlNavig.Enabled = True

            Me.pnlEdit.Enabled = True

            Me.pnlStav.Enabled = True

            Me.pnlPrirad.Enabled = True

            Me.btnZavrit.Enabled = True

            Me.dgvTblPalety.Enabled = True

        Else

            'neni nic zadane

            Exit Sub

        End If

    End Sub


#End Region


#End Region


#Region "Uprava zaznamu"

    Private Sub TblPaletyBindingSource_PositionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TblPaletyBindingSource.PositionChanged

        Cursor.Current = Cursors.WaitCursor

        'paleta bez materiálu - bez zobrazení názvu, s možností rezervace

        If IsDBNull(Me.TblPaletyBindingSource.Current("cislo_mat")) Then

             Me.btnRezervace.Enabled = True

            Me.btnZmenaObsahuPalety.Enabled = False


        Else ' zobrazení názvu materiálu, možnost přidávat a ubírat

            Me.btnRezervace.Enabled = False

            Me.btnZmenaObsahuPalety.Enabled = True


            'vypocitame celkove mnozstvi pomoci agregacni funkce

            CelkoveMnozstvi()

        End If


        ' zobrazení stavu a nastavení možnosti jeho změny

        Select Case Me.TblPaletyBindingSource.Current("Stav_Pa")

            Case "V"

                Me.btnVyskladnit.Enabled = False

                Me.btnZaskladnit.Enabled = True

                Me.btnVyskladneno.Enabled = False

                Me.btnZaskladneno.Enabled = False

            Case "Z"

                Me.btnVyskladnit.Enabled = True

                Me.btnZaskladnit.Enabled = False

                Me.btnVyskladneno.Enabled = False

                Me.btnZaskladneno.Enabled = False

            Case "D"

                Me.btnVyskladnit.Enabled = False

                Me.btnZaskladnit.Enabled = False

                Me.btnVyskladneno.Enabled = True

                Me.btnZaskladneno.Enabled = True

        End Select

        Cursor.Current = Cursors.Default

    End Sub


    Private Sub CelkoveMnozstvi()

        'vypocitame celkove mnozstvi pomoci agregacni funkce

        Dim CelkoveMnozstvi As Integer


        If Not IsDBNull(Me.TblPaletyBindingSource.Current("cislo_mat")) Then

            Dim strSQL As String

            strSQL = "SELECT SUM(Mnoz_pa) AS CelkoveMnozstvi FROM tblPalety WHERE cislo_mat = '" & Me.TblMaterialBindingSource.Current("cislo_mat") & "'"

            Dim oledbcon As New OleDb.OleDbConnection


            oledbcon.ConnectionString = TblPaletyTableAdapter.Connection.ConnectionString

            oledbcon.Open()

            Dim cmd As New OleDb.OleDbCommand(strSQL, oledbcon)

            Dim dr As OleDb.OleDbDataReader = cmd.ExecuteReader()

            'ziskame celkove mnozstvi

            dr.Read()

            CelkoveMnozstvi = IIf(IsDBNull(dr("CelkoveMnozstvi")), "0", dr("CelkoveMnozstvi"))

            oledbcon.Close()


            If CelkoveMnozstvi <= CInt(Me.txtMnoz_Poj.Text) Then

                ErrorProvider.SetError(Me.txtMnoz_Celk, "Pozor, jste pod pojistnou zásobou")

            Else

                ErrorProvider.SetError(Me.txtMnoz_Celk, "")

            End If

        Else

            CelkoveMnozstvi = 0

        End If

        Me.txtMnoz_Celk.Text = CelkoveMnozstvi


    End Sub


#End Region



End Class