Public Class NBanco
    Inherits System.Windows.Forms.Form

#Region " Windows Form Designer generated code "

    Public Sub New()
        MyBase.New()

        'This call is required by the Windows Form Designer.
        InitializeComponent()

        'Add any initialization after the InitializeComponent() call

    End Sub

    'Form overrides dispose to clean up the component list.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

    'Required by the Windows Form Designer
    Private components As System.ComponentModel.IContainer

    'NOTE: The following procedure is required by the Windows Form Designer
    'It can be modified using the Windows Form Designer.  
    'Do not modify it using the code editor.
    Friend WithEvents EtiquetaUsuario As System.Windows.Forms.Label
    Friend WithEvents TextoUsuario As System.Windows.Forms.TextBox
    Public WithEvents BotonEliminar As System.Windows.Forms.Button
    Public WithEvents Imagen4 As System.Windows.Forms.PictureBox
    Public WithEvents Imagen3 As System.Windows.Forms.PictureBox
    Public WithEvents Imagen1 As System.Windows.Forms.PictureBox
    Public WithEvents Imagen2 As System.Windows.Forms.PictureBox
    Friend WithEvents EtiquetaBanco As System.Windows.Forms.Label
    Friend WithEvents CombinadaBanco As System.Windows.Forms.ComboBox
    Friend WithEvents DisenoBanco As System.Windows.Forms.GroupBox
    Friend WithEvents EtiquetaNombre As System.Windows.Forms.Label
    Friend WithEvents TextoNombre As System.Windows.Forms.TextBox
    Friend WithEvents EtiquetaObervacion As System.Windows.Forms.Label
    Friend WithEvents EtiquetaTipo As System.Windows.Forms.Label
    Friend WithEvents TextoTipo As System.Windows.Forms.TextBox
    Friend WithEvents TextoObservacion As System.Windows.Forms.TextBox
    Public WithEvents BotonModificar As System.Windows.Forms.Button
    Public WithEvents BotonNuevo As System.Windows.Forms.Button
    Public WithEvents BotonCerrar As System.Windows.Forms.Button
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.EtiquetaBanco = New System.Windows.Forms.Label
        Me.CombinadaBanco = New System.Windows.Forms.ComboBox
        Me.EtiquetaUsuario = New System.Windows.Forms.Label
        Me.TextoUsuario = New System.Windows.Forms.TextBox
        Me.BotonEliminar = New System.Windows.Forms.Button
        Me.BotonNuevo = New System.Windows.Forms.Button
        Me.BotonModificar = New System.Windows.Forms.Button
        Me.Imagen4 = New System.Windows.Forms.PictureBox
        Me.Imagen3 = New System.Windows.Forms.PictureBox
        Me.Imagen1 = New System.Windows.Forms.PictureBox
        Me.BotonCerrar = New System.Windows.Forms.Button
        Me.Imagen2 = New System.Windows.Forms.PictureBox
        Me.DisenoBanco = New System.Windows.Forms.GroupBox
        Me.EtiquetaTipo = New System.Windows.Forms.Label
        Me.TextoTipo = New System.Windows.Forms.TextBox
        Me.EtiquetaNombre = New System.Windows.Forms.Label
        Me.TextoNombre = New System.Windows.Forms.TextBox
        Me.EtiquetaObervacion = New System.Windows.Forms.Label
        Me.TextoObservacion = New System.Windows.Forms.TextBox
        Me.DisenoBanco.SuspendLayout()
        Me.SuspendLayout()
        '
        'EtiquetaBanco
        '
        Me.EtiquetaBanco.AutoSize = True
        Me.EtiquetaBanco.Location = New System.Drawing.Point(16, 16)
        Me.EtiquetaBanco.Name = "EtiquetaBanco"
        Me.EtiquetaBanco.Size = New System.Drawing.Size(93, 16)
        Me.EtiquetaBanco.TabIndex = 182
        Me.EtiquetaBanco.Text = "Selección banco :"
        '
        'CombinadaBanco
        '
        Me.CombinadaBanco.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
                    Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
        Me.CombinadaBanco.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
        Me.CombinadaBanco.Location = New System.Drawing.Point(160, 16)
        Me.CombinadaBanco.Name = "CombinadaBanco"
        Me.CombinadaBanco.Size = New System.Drawing.Size(264, 21)
        Me.CombinadaBanco.Sorted = True
        Me.CombinadaBanco.TabIndex = 0
        '
        'EtiquetaUsuario
        '
        Me.EtiquetaUsuario.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
        Me.EtiquetaUsuario.AutoSize = True
        Me.EtiquetaUsuario.Location = New System.Drawing.Point(24, 336)
        Me.EtiquetaUsuario.Name = "EtiquetaUsuario"
        Me.EtiquetaUsuario.Size = New System.Drawing.Size(128, 16)
        Me.EtiquetaUsuario.TabIndex = 180
        Me.EtiquetaUsuario.Text = "Ultimo usuario modificó :"
        '
        'TextoUsuario
        '
        Me.TextoUsuario.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
        Me.TextoUsuario.BackColor = System.Drawing.SystemColors.Control
        Me.TextoUsuario.Location = New System.Drawing.Point(168, 336)
        Me.TextoUsuario.Name = "TextoUsuario"
        Me.TextoUsuario.ReadOnly = True
        Me.TextoUsuario.Size = New System.Drawing.Size(232, 20)
        Me.TextoUsuario.TabIndex = 179
        Me.TextoUsuario.Text = ""
        '
        'BotonEliminar
        '
        Me.BotonEliminar.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
        Me.BotonEliminar.BackColor = System.Drawing.SystemColors.Control
        Me.BotonEliminar.Cursor = System.Windows.Forms.Cursors.Default
        Me.BotonEliminar.Enabled = False
        Me.BotonEliminar.FlatStyle = System.Windows.Forms.FlatStyle.System
        Me.BotonEliminar.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.BotonEliminar.ForeColor = System.Drawing.SystemColors.ControlText
        Me.BotonEliminar.Location = New System.Drawing.Point(440, 240)
        Me.BotonEliminar.Name = "BotonEliminar"
        Me.BotonEliminar.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.BotonEliminar.Size = New System.Drawing.Size(104, 24)
        Me.BotonEliminar.TabIndex = 6
        Me.BotonEliminar.Text = "&Eliminar banco"
        '
        'BotonNuevo
        '
        Me.BotonNuevo.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
        Me.BotonNuevo.BackColor = System.Drawing.SystemColors.Control
        Me.BotonNuevo.Cursor = System.Windows.Forms.Cursors.Default
        Me.BotonNuevo.FlatStyle = System.Windows.Forms.FlatStyle.System
        Me.BotonNuevo.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.BotonNuevo.ForeColor = System.Drawing.SystemColors.ControlText
        Me.BotonNuevo.Location = New System.Drawing.Point(440, 160)
        Me.BotonNuevo.Name = "BotonNuevo"
        Me.BotonNuevo.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.BotonNuevo.Size = New System.Drawing.Size(104, 24)
        Me.BotonNuevo.TabIndex = 5
        Me.BotonNuevo.Text = "&Nuevo banco"
        '
        'BotonModificar
        '
        Me.BotonModificar.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
        Me.BotonModificar.BackColor = System.Drawing.SystemColors.Control
        Me.BotonModificar.Cursor = System.Windows.Forms.Cursors.Default
        Me.BotonModificar.Enabled = False
        Me.BotonModificar.FlatStyle = System.Windows.Forms.FlatStyle.System
        Me.BotonModificar.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.BotonModificar.ForeColor = System.Drawing.SystemColors.ControlText
        Me.BotonModificar.Location = New System.Drawing.Point(440, 48)
        Me.BotonModificar.Name = "BotonModificar"
        Me.BotonModificar.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.BotonModificar.Size = New System.Drawing.Size(104, 32)
        Me.BotonModificar.TabIndex = 4
        Me.BotonModificar.Text = "&Modificar banco"
        '
        'Imagen4
        '
        Me.Imagen4.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
        Me.Imagen4.Cursor = System.Windows.Forms.Cursors.Default
        Me.Imagen4.Location = New System.Drawing.Point(480, 200)
        Me.Imagen4.Name = "Imagen4"
        Me.Imagen4.Size = New System.Drawing.Size(32, 32)
        Me.Imagen4.TabIndex = 176
        Me.Imagen4.TabStop = False
        '
        'Imagen3
        '
        Me.Imagen3.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
        Me.Imagen3.Cursor = System.Windows.Forms.Cursors.Default
        Me.Imagen3.Location = New System.Drawing.Point(480, 120)
        Me.Imagen3.Name = "Imagen3"
        Me.Imagen3.Size = New System.Drawing.Size(32, 32)
        Me.Imagen3.TabIndex = 177
        Me.Imagen3.TabStop = False
        '
        'Imagen1
        '
        Me.Imagen1.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
        Me.Imagen1.Cursor = System.Windows.Forms.Cursors.Default
        Me.Imagen1.Location = New System.Drawing.Point(480, 8)
        Me.Imagen1.Name = "Imagen1"
        Me.Imagen1.Size = New System.Drawing.Size(32, 32)
        Me.Imagen1.TabIndex = 178
        Me.Imagen1.TabStop = False
        '
        'BotonCerrar
        '
        Me.BotonCerrar.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
        Me.BotonCerrar.BackColor = System.Drawing.SystemColors.Control
        Me.BotonCerrar.Cursor = System.Windows.Forms.Cursors.Default
        Me.BotonCerrar.DialogResult = System.Windows.Forms.DialogResult.Cancel
        Me.BotonCerrar.FlatStyle = System.Windows.Forms.FlatStyle.System
        Me.BotonCerrar.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.BotonCerrar.ForeColor = System.Drawing.SystemColors.ControlText
        Me.BotonCerrar.Location = New System.Drawing.Point(440, 328)
        Me.BotonCerrar.Name = "BotonCerrar"
        Me.BotonCerrar.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.BotonCerrar.Size = New System.Drawing.Size(104, 24)
        Me.BotonCerrar.TabIndex = 7
        Me.BotonCerrar.Text = "&Cerrar ventana"
        '
        'Imagen2
        '
        Me.Imagen2.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
        Me.Imagen2.Cursor = System.Windows.Forms.Cursors.Default
        Me.Imagen2.Location = New System.Drawing.Point(480, 288)
        Me.Imagen2.Name = "Imagen2"
        Me.Imagen2.Size = New System.Drawing.Size(32, 32)
        Me.Imagen2.TabIndex = 172
        Me.Imagen2.TabStop = False
        '
        'DisenoBanco
        '
        Me.DisenoBanco.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
                    Or System.Windows.Forms.AnchorStyles.Left) _
                    Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
        Me.DisenoBanco.Controls.Add(Me.EtiquetaTipo)
        Me.DisenoBanco.Controls.Add(Me.TextoTipo)
        Me.DisenoBanco.Controls.Add(Me.EtiquetaNombre)
        Me.DisenoBanco.Controls.Add(Me.TextoNombre)
        Me.DisenoBanco.Controls.Add(Me.EtiquetaObervacion)
        Me.DisenoBanco.Controls.Add(Me.TextoObservacion)
        Me.DisenoBanco.FlatStyle = System.Windows.Forms.FlatStyle.System
        Me.DisenoBanco.Location = New System.Drawing.Point(16, 48)
        Me.DisenoBanco.Name = "DisenoBanco"
        Me.DisenoBanco.Size = New System.Drawing.Size(408, 272)
        Me.DisenoBanco.TabIndex = 184
        Me.DisenoBanco.TabStop = False
        Me.DisenoBanco.Text = "Banco activo"
        '
        'EtiquetaTipo
        '
        Me.EtiquetaTipo.AutoSize = True
        Me.EtiquetaTipo.Location = New System.Drawing.Point(24, 104)
        Me.EtiquetaTipo.Name = "EtiquetaTipo"
        Me.EtiquetaTipo.Size = New System.Drawing.Size(85, 16)
        Me.EtiquetaTipo.TabIndex = 105
        Me.EtiquetaTipo.Text = "Tipo de cuenta :"
        '
        'TextoTipo
        '
        Me.TextoTipo.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
                    Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
        Me.TextoTipo.Location = New System.Drawing.Point(144, 104)
        Me.TextoTipo.MaxLength = 50
        Me.TextoTipo.Name = "TextoTipo"
        Me.TextoTipo.Size = New System.Drawing.Size(240, 20)
        Me.TextoTipo.TabIndex = 2
        Me.TextoTipo.Text = ""
        '
        'EtiquetaNombre
        '
        Me.EtiquetaNombre.AutoSize = True
        Me.EtiquetaNombre.Location = New System.Drawing.Point(24, 56)
        Me.EtiquetaNombre.Name = "EtiquetaNombre"
        Me.EtiquetaNombre.Size = New System.Drawing.Size(103, 16)
        Me.EtiquetaNombre.TabIndex = 103
        Me.EtiquetaNombre.Text = "Nombre banco (R) :"
        '
        'TextoNombre
        '
        Me.TextoNombre.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
                    Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
        Me.TextoNombre.Location = New System.Drawing.Point(144, 56)
        Me.TextoNombre.MaxLength = 50
        Me.TextoNombre.Name = "TextoNombre"
        Me.TextoNombre.Size = New System.Drawing.Size(240, 20)
        Me.TextoNombre.TabIndex = 1
        Me.TextoNombre.Text = ""
        '
        'EtiquetaObervacion
        '
        Me.EtiquetaObervacion.AutoSize = True
        Me.EtiquetaObervacion.Location = New System.Drawing.Point(32, 152)
        Me.EtiquetaObervacion.Name = "EtiquetaObervacion"
        Me.EtiquetaObervacion.Size = New System.Drawing.Size(86, 16)
        Me.EtiquetaObervacion.TabIndex = 101
        Me.EtiquetaObervacion.Text = "Observaciones :"
        '
        'TextoObservacion
        '
        Me.TextoObservacion.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
                    Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
        Me.TextoObservacion.Location = New System.Drawing.Point(24, 168)
        Me.TextoObservacion.MaxLength = 150
        Me.TextoObservacion.Name = "TextoObservacion"
        Me.TextoObservacion.Size = New System.Drawing.Size(360, 20)
        Me.TextoObservacion.TabIndex = 3
        Me.TextoObservacion.Text = ""
        '
        'NBanco
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.CancelButton = Me.BotonCerrar
        Me.ClientSize = New System.Drawing.Size(560, 374)
        Me.Controls.Add(Me.DisenoBanco)
        Me.Controls.Add(Me.EtiquetaBanco)
        Me.Controls.Add(Me.EtiquetaUsuario)
        Me.Controls.Add(Me.TextoUsuario)
        Me.Controls.Add(Me.CombinadaBanco)
        Me.Controls.Add(Me.BotonEliminar)
        Me.Controls.Add(Me.BotonNuevo)
        Me.Controls.Add(Me.BotonModificar)
        Me.Controls.Add(Me.Imagen4)
        Me.Controls.Add(Me.Imagen3)
        Me.Controls.Add(Me.Imagen1)
        Me.Controls.Add(Me.BotonCerrar)
        Me.Controls.Add(Me.Imagen2)
        Me.MaximizeBox = False
        Me.Name = "NBanco"
        Me.Text = "Nuevo/Modificar/Eliminar banco"
        Me.DisenoBanco.ResumeLayout(False)
        Me.ResumeLayout(False)

    End Sub

#End Region

    Dim SeleccionBanco As String
    Dim CambioInterno As Boolean
    Dim DatosNoGuardados As Boolean

    Private Sub NBanco_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ' Iconos
        SubIconVentana(Me, "house")
        SubIconNuevoModificarEliminar(Imagen2, Imagen1, Imagen4, Imagen3)
        ' Manejo de datos combinada
        CambioInterno = False
        SeleccionBanco = ""
    End Sub

    Private Sub NBanco_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated
        ' Declaración variables
        Dim Ciclo As Int32
        ' Abrir tabla
        On Error Resume Next
        SubAbrirTablaBD("SELECT * FROM VBanco")
        ' Saber si hubo error
        If Not FnErrorADONET(Me) Then
            ' Limpiar controles
            SubLimpiarTexto()
            ' Cargar combinada banco
            CombinadaBanco.Items.Clear()
            For Ciclo = 0 To TTabla.Rows.Count - 1
                Dim FTabla As DataRow = TTabla.Rows(Ciclo)
                CombinadaBanco.Items.Add(FTabla("NombreBanco").ToString)
            Next
            If SeleccionBanco <> "" Then
                CambioInterno = True
                CombinadaBanco.Text = SeleccionBanco
                CambioInterno = False
            End If
        End If
        On Error GoTo 0
        ' Inicialización
        DatosNoGuardados = False
    End Sub

    Private Sub CombinadaBanco_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CombinadaBanco.SelectedIndexChanged
        Dim Continuar As Boolean
        ' En caso de no ser nulo, pasar valores a pantalla
        If CombinadaBanco.Text <> "" And Not CambioInterno Then
            ' Verifcar que no haya datos sin registrar
            If DatosNoGuardados Then
                If MessageBox.Show(LeyendaNoGuardado, LeyendaTituloMensaje, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) = DialogResult.Yes Then
                    Continuar = False
                Else
                    Continuar = True
                End If
            Else
                Continuar = True
            End If
            If Continuar Then
                ' Al no querer salvar los cambios, traemos la nueva informacion
                Me.Cursor = System.Windows.Forms.Cursors.WaitCursor
                On Error Resume Next
                ' Abrir tabla
                SubAbrirTablaBD("SELECT * FROM VBanco WHERE NombreBanco = '" & CombinadaBanco.Text & "'")
                ' Saber si hubo error
                If Not FnErrorADONET(Me) Then
                    ' Si no hubo error se sigue
                    Dim FTabla As DataRow = TTabla.Rows(0)
                    If CBool(Err.Number) Then
                        MessageBox.Show(LeyendaRegistroNoExiste & Err.Description, _
                                        LeyendaTituloMensaje, _
                                        MessageBoxButtons.OK, MessageBoxIcon.Error)
                    Else
                        ' Pasar datos a pantalla
                        TextoNombre.Text = FTabla("NombreBanco").ToString
                        TextoTipo.Text = FTabla("TipoCuenta").ToString
                        TextoObservacion.Text = FTabla("Observacion").ToString
                        TextoUsuario.Text = FTabla("Usuario").ToString
                        ' Deshabilitar la funcion no guardados
                        DatosNoGuardados = False
                        ' Llevar foco a caja de texto
                        TextoNombre.Focus()
                    End If
                End If
                On Error GoTo 0
                Me.Cursor = System.Windows.Forms.Cursors.Default
            End If
        End If
        ' Activar botón modificar en caso de haber algo seleccionado
        If CombinadaBanco.Text = "" Then
            BotonModificar.Enabled = False
            BotonEliminar.Enabled = False
        Else
            BotonModificar.Enabled = True
            BotonEliminar.Enabled = True
        End If
        ' Indicar selección
        SeleccionBanco = CombinadaBanco.Text
    End Sub

    Private Sub SubLimpiarTexto()
        ' Limpiar los TextBox
        For Each c As Control In Me.DisenoBanco.Controls
            ' Limpiar los textbox
            If TypeOf c Is TextBox Then c.Text = ""
        Next
        TextoUsuario.Text = ""
    End Sub

    Private Sub BotonModificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BotonModificar.Click
        Dim Continuar As Boolean
        Dim Ciclo As Int32
        ' Si la combinada de seleccion está vacía, no es posible grabar la modificación
        If CombinadaBanco.Text = "" Then
            ' La combinada está vacía, no es posible modificar
            MessageBox.Show(LeyendaImposibleModificar, _
                            LeyendaTituloMensaje, _
                            MessageBoxButtons.OK, MessageBoxIcon.Error)
        Else
            ' En caso de estar configurado, confirmar modificación
            If PreguntarCrearModificar Then
                ' Preguntar por las dudas
                If MessageBox.Show(LeyendaPreguntaModificar, LeyendaTituloMensaje, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) = DialogResult.Yes Then
                    Continuar = True
                Else
                    Continuar = False
                End If
            Else
                Continuar = True
            End If
            ' Si el usuario decidió continuar, se sigue con el proceso
            If Continuar Then
                Me.Cursor = System.Windows.Forms.Cursors.WaitCursor
                On Error Resume Next
                ' Abrir tabla
                SubAbrirTablaBD("SELECT * FROM VBanco WHERE NombreBanco = '" & CombinadaBanco.Text & "'")
                ' Saber si hubo error
                If Not FnErrorADONET(Me) Then
                    ' Si no hubo error se sigue
                    Dim FTabla As DataRow = TTabla.Rows(0)
                    If CBool(Err.Number) Then
                        MessageBox.Show(LeyendaRegistroNoExisteModificar & Err.Description, _
                                        LeyendaTituloMensaje, _
                                        MessageBoxButtons.OK, MessageBoxIcon.Error)
                    Else
                        ' Registrar las modificaciones
                        FTabla("NombreBanco") = TextoNombre.Text
                        FTabla("TipoCuenta") = TextoTipo.Text
                        FTabla("Observacion") = TextoObservacion.Text
                        FTabla("Usuario") = UsuarioActual
                        If CBool(Err.Number) Then
                            MessageBox.Show(LeyendaErrorDato & Err.Description, _
                                            LeyendaTituloMensaje, _
                                            MessageBoxButtons.OK, MessageBoxIcon.Error)
                        Else
                            ' Pasar datos a base
                            BDTabla.Update(TTabla)
                            TTabla.AcceptChanges()
                            If CBool(Err.Number) Then
                                ' Hubo error
                                MessageBox.Show(LeyendaNoModificado & Err.Description, _
                                                LeyendaTituloMensaje, _
                                                MessageBoxButtons.OK, MessageBoxIcon.Error)
                            Else
                                ' ATENCION: MODIFICAR EL NOMBREBANCO EN BASE REGISTRO EN CASO DE HABER SIDO MODIFICADO
                                ' Saber si hubo cambio de nombre
                                If TextoNombre.Text <> CombinadaBanco.Text Then
                                    ' Abrir tabla comprobantes de dinero que trabajaron con este banco
                                    SubAbrirTablaBDRgt("SELECT * FROM VComprobanteDinero WHERE ClienteProveedorBancoES = '" & CombinadaBanco.Text & "'")
                                    For Ciclo = 0 To TTablaRgt.Rows.Count - 1
                                        Dim FTablaRgt As DataRow = TTablaRgt.Rows(Ciclo)
                                        FTablaRgt("ClienteProveedorBancoES") = TextoNombre.Text
                                        ' Pasar datos a base
                                        BDTablaRgt.Update(TTablaRgt)
                                        TTablaRgt.AcceptChanges()
                                    Next
                                End If
                                ' Indicar que fue con éxito
                                MessageBox.Show(LeyendaModificado, _
                                                LeyendaTituloMensaje, _
                                                MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                                ' Saber si se modificó la clave primaria
                                If TextoNombre.Text <> CombinadaBanco.Text Then
                                    ' Cambió el nombre
                                    ' Modificar la lista y seleccionar el nuevo
                                    CambioInterno = True
                                    CombinadaBanco.Items.Add(TextoNombre.Text)
                                    CombinadaBanco.Items.Remove(CombinadaBanco.Text)
                                    CombinadaBanco.Text = TextoNombre.Text
                                    CambioInterno = False
                                End If
                                ' Deshabilitar la funcion no guardados
                                DatosNoGuardados = False
                            End If
                        End If
                    End If
                End If
                On Error GoTo 0
                Me.Cursor = System.Windows.Forms.Cursors.Default
            End If
        End If
    End Sub

    Private Sub TextoNombre_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextoNombre.TextChanged
        DatosNoGuardados = True
    End Sub

    Private Sub TextoTipo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextoTipo.TextChanged
        DatosNoGuardados = True
    End Sub

    Private Sub TextoObservacion_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextoObservacion.TextChanged
        DatosNoGuardados = True
    End Sub

    Private Sub BotonEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BotonEliminar.Click
        ' Si la combinada de seleccion de banco está vacía, no es posible eliminar
        If CombinadaBanco.Text = "" Then
            ' La combinada está vacía, no es posible eliminar
            MessageBox.Show(LeyendaImposibleEliminar, _
                            LeyendaTituloMensaje, _
                            MessageBoxButtons.OK, MessageBoxIcon.Error)
        Else
            ' Preguntar para confirmar la eliminación
            If MessageBox.Show(LeyendaEliminar & "el banco " & StrConv(CombinadaBanco.Text, VbStrConv.UpperCase) & LeyendaPermanente, LeyendaTituloMensaje, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) = DialogResult.Yes Then
                On Error Resume Next
                SubAbrirTablaBD("SELECT * FROM VBanco WHERE NombreBanco = '" & CombinadaBanco.Text & "'")
                ' Saber si hubo error
                If Not FnErrorADONET(Me) Then
                    ' Saber existencia de registro
                    Dim FTabla As DataRow = TTabla.Rows(0)
                    If CBool(Err.Number) Then
                        MessageBox.Show(LeyendaRegistroNoExisteEliminar & Err.Description, _
                                        LeyendaTituloMensaje, _
                                        MessageBoxButtons.OK, MessageBoxIcon.Error)
                    Else
                        ' ATENCION: ANTES DE BORRAR EL REGISTRO, VERIFICAR SI FUE USADO PARA EMISION COMPROBANTES, EN EL CASO DE SER USADO NO BORRAR
                        SubAbrirTablaBD2("SELECT * FROM VTipoComprobanteDinero WHERE ClienteProveedorBancoES = '" & CombinadaBanco.Text & "'")
                        SubAbrirTablaBD3("SELECT * FROM VTipoComprobanteProducto WHERE ClienteProveedor = '" & CombinadaBanco.Text & "'")
                        If TTabla2.Rows.Count = 0 And TTabla3.Rows.Count = 0 Then
                            ' Eliminar registro
                            FTabla.Delete()
                            BDTabla.Update(TTabla)
                            TTabla.AcceptChanges()
                            If CBool(Err.Number) Then
                                ' Hubo error
                                MessageBox.Show(LeyendaNoEliminado & Err.Description, _
                                                LeyendaTituloMensaje, _
                                                MessageBoxButtons.OK, MessageBoxIcon.Error)
                            Else
                                ' Borrar registro en pantalla
                                SubLimpiarTexto()
                                ' Borrar el banco en la combinada
                                CombinadaBanco.Items.Remove(CombinadaBanco.Text)
                                ' Indicar que fue con éxito
                                MessageBox.Show(LeyendaEliminado, _
                                                LeyendaTituloMensaje, _
                                                MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                                ' Deshabilitar la funcion no guardados
                                DatosNoGuardados = False
                            End If
                        Else
                            MessageBox.Show(LeyendaNoPosibleBorrar, _
                                            LeyendaTituloMensaje, _
                                            MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                        End If
                    End If
                End If
                On Error GoTo 0
            End If
        End If
    End Sub

    Private Sub BotonNuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BotonNuevo.Click
        Dim Continuar As Boolean
        ' Si la combinada de seleccion de banco no está vacía, puede suceder que deba hacer modifcar en vez de nuevo
        ' Saber también si está configurado preguntar
        If CombinadaBanco.Text <> "" And PreguntarCrearModificar Then
            ' La combinada no está vacía y configurado para preguntar
            ' Preguntar por las dudas
            If MessageBox.Show(LeyendaPreguntaCrear, LeyendaTituloMensaje, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) = DialogResult.Yes Then
                Continuar = True
            Else
                Continuar = False
            End If
        Else
            Continuar = True
        End If
        ' Si el usuario decidió continuar, se sigue con el proceso
        If Continuar Then
            Me.Cursor = System.Windows.Forms.Cursors.WaitCursor
            On Error Resume Next
            ' Abrir tabla
            SubAbrirTablaBD("SELECT * FROM VBanco")
            ' Saber si hubo error
            If Not FnErrorADONET(Me) Then
                ' Si no hubo error se sigue
                Dim FNTabla As DataRow = TTabla.NewRow()
                If CBool(Err.Number) Then
                    MessageBox.Show(LeyendaNoCrearRegistro & Err.Description, _
                                    LeyendaTituloMensaje, _
                                    MessageBoxButtons.OK, MessageBoxIcon.Error)
                Else
                    FNTabla("NombreBanco") = TextoNombre.Text
                    FNTabla("TipoCuenta") = TextoTipo.Text
                    FNTabla("Observacion") = TextoObservacion.Text
                    FNTabla("Usuario") = UsuarioActual
                    If Not CBool(Err.Number) Then
                        ' Añadir la nueva fila a la tabla
                        TTabla.Rows.Add(FNTabla)
                        ' Guardar físicamente los datos en la base
                        BDTabla.Update(TTabla)
                        TTabla.AcceptChanges()
                        If CBool(Err.Number) Then
                            MessageBox.Show(LeyendaNoCreado & Err.Description, _
                                            LeyendaTituloMensaje, _
                                            MessageBoxButtons.OK, MessageBoxIcon.Error)
                        Else
                            MessageBox.Show(LeyendaCreado, _
                                            LeyendaTituloMensaje, _
                                            MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                            ' Ingresar valor a combinada
                            CombinadaBanco.Items.Add(TextoNombre.Text)
                            ' Cambiar el nombre
                            CambioInterno = True
                            CombinadaBanco.Text = TextoNombre.Text
                            CambioInterno = False
                            ' Deshabilitar la funcion no guardados
                            DatosNoGuardados = False
                        End If
                    Else
                        MessageBox.Show(LeyendaErrorDato & Err.Description, _
                                        LeyendaTituloMensaje, _
                                        MessageBoxButtons.OK, MessageBoxIcon.Error)
                    End If
                End If
            End If
            On Error GoTo 0
            Me.Cursor = System.Windows.Forms.Cursors.Default
        End If
    End Sub

    Private Sub BotonCerrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BotonCerrar.Click
        Me.Close()
    End Sub

    Private Sub NBanco_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
        'Dim FrmVentaTec As New VentaTec
        If DatosNoGuardados Then
            ' Hubo cambios y no se guardaron
            If MessageBox.Show(LeyendaNoGuardado, LeyendaTituloMensaje, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) = DialogResult.Yes Then
                ' Anular la salida
                e.Cancel = True
            End If
        End If
        ' Activamos menú en caso de salida
        If Not e.Cancel Then
            CType(Me.MdiParent, VentaTec).MenuPrincipal.MenuItems(4).MenuItems(12).MenuItems(1).Enabled = True
            CType(Me.MdiParent, VentaTec).BarraEstado.Panels(0).Text = ""
        End If
    End Sub

    Private Sub BotonCerrar_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles BotonCerrar.MouseMove
        ' Indicar en barra de estado lo que hace el botón
        CType(Me.MdiParent, VentaTec).BarraEstado.Panels(0).Text = LeyendaPresione & LeyendaCerrarVentana
    End Sub

    Private Sub NBanco_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
        ' Borrar los posibles mensajes en barra de estado
        CType(Me.MdiParent, VentaTec).BarraEstado.Panels(0).Text = ""
    End Sub

    Private Sub BotonModificar_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles BotonModificar.MouseMove
        ' Indicar en barra de estado lo que hace el botón
        CType(Me.MdiParent, VentaTec).BarraEstado.Panels(0).Text = LeyendaPresione & LeyendaModificarRegistro
    End Sub

    Private Sub BotonNuevo_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles BotonNuevo.MouseMove
        ' Indicar en barra de estado lo que hace el botón
        CType(Me.MdiParent, VentaTec).BarraEstado.Panels(0).Text = LeyendaPresione & LeyendaNuevoRegistro
    End Sub

    Private Sub BotonEliminar_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles BotonEliminar.MouseMove
        ' Indicar en barra de estado lo que hace el botón
        CType(Me.MdiParent, VentaTec).BarraEstado.Panels(0).Text = LeyendaPresione & LeyendaEliminarRegistro
    End Sub

    Private Sub CombinadaBanco_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles CombinadaBanco.MouseMove
        ' Indicar en barra de estado lo que hace el botón
        CType(Me.MdiParent, VentaTec).BarraEstado.Panels(0).Text = LeyendaSeleccionRegistro
    End Sub

    Private Sub TextoNombre_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextoNombre.KeyPress
        SubNombresEnMayuscula(e)
    End Sub
End Class
