Parte 8-9 – Formulario Datos de la Empresa, Uso del control Common Dialog

En esta nueva lección vamos se trabaja la parte de insertar nuevos controles en el formulario de Datos de la Empresa y darle estilos,  agregué un control Image para el logo de la empresa.

Para la selección del logo se utiliza un control Common Dialog que no hemos utilizado, en el el vídeo explico su uso.

Este logo se utilizará más adelante para la impresión de la factura de ventas y para otros informes.

Vamos a implementar primeramente el código de la seleccionan del logo de la empresa para ello se utiliza el siguiente código:

Botón Abrir Imagen

En el evento Clic el botón cmdAbrirImage del Formulario frmDatosEmpresa queda de la siguiente manera:

Private Sub cmdAbrirImage_Click()
    CommonDialog1.Filter = "Archivo de Imagen|*.jpg|*.jpeg"
    CommonDialog1.ShowOpen
    If CommonDialog1.FileName <> "" Then
       txtLogo.Text = CommonDialog1.FileName
       imgLogo.Picture = LoadPicture(txtLogo.Text)
    Else
       txtLogo.Text = ""
    End If
End Sub

Si notamos en el código anterior la propiedad Filter nos indica que tipo de archivo vamos a buscar: “Archivo de Imagen|*.jpg|*.jpeg” con esto le estamos indicando que solo busque imágenes JPG o JPEG.

CommonDialog1.ShowOpen  Le indicamos a CommonDialog que se abra.

AL cerrar el CommonDialog se ejecuta el código siguiente que sería el condicional donde validamos que el nombre del archivo sea diferente a vació de esta manera sabemos si se seleccionó o no un archivo.

Botón Guardar

El siguiente método se utiliza para Guardar o Actualizar los datos de la empresa, este código estará ubicado el módulo mod_Consultas: 

Código:

Sub GuardarDatosEmpresa(Nombre As String, Propie As String, Nit As String, _
                        Telefono As String, Direcc As String, logo As String, _
                        Descrip As String, Regimen As Integer, Resoluc As String, _
                        FechaAp As Date, Rango1 As String, Rango2 As String, IniciarEn As String)
                        
    Dim RecorsetTemp  As New ADODB.RecordSet
    Dim sql As String
        
    sql = "Select IdEmpresa from tblDatosEmpresa where IdEmpresa =  1 "
    RecorsetTemp.Open sql, ConexionADO
    
    If RecorsetTemp.RecordCount > 0 Then
       sql = "Update tblDatosEmpresa SET NombreEmpresa ='" & Nombre _
           & "', Propietario = '" & Propie & "',Nit='" & Nit & "',Telefonos='" & Telefono _
           & "', Direccion='" & Direcc & "',Logo='" & logo & "',Descripcion='" & Descrip _
           & "', Regimen=" & Regimen & ", Resolucion='" & Resoluc & "', FechaResol= '" & FechaAp _
           & "', Rango1=" & Rango1 & ",Rango2=" & Rango2 & ",IniciarEn = " & IniciarEn & _
           " where IdEmpresa =  1"
    Else
        sql = "Insert Into tblDatosEmpresa (IdEmpresa, NombreEmpresa, Propietario, Nit, Telefonos, " _
             & " Direccion,Logo,Descripcion, Regimen, Resolucion,FechaResol, Rango1,Rango2,IniciarEn) " _
             & " Values (1, '" & Nombre & "' , '" & Propie & "', '" & Nit & "', '" & Telefono _
             & "', '" & Direcc & "', '" & logo & "', '" & Descrip & "',  " & Regimen & ", '" & Resoluc _
             & "', '" & FechaAp & "', " & Rango1 & ", " & Rango2 & ", " & IniciarEn & " ) "
    End If
    ConexionADO.Execute sql
    
    MsgBox "Datos Guardados", vbInformation, "Guardar"
    
End Sub

El método anterior es llamado desde un nuevo procedimiento que cree llamado GuardarDatos del formulario frmDatosEmpresa:

Y este a su ves es llamado por el evento Clic del botón Guardar:

Private Sub cmdGuardar_Click()
   
   Call GuardarDatos
   Call DesabilitarControles
End Sub

Si se nota en el código anterior desde este mismo evento llamo a otro procedimiento llamado DesabilitarControles que como su nombre lo indica se utiliza para deshabilitar Controles luego de haber guardado.

Al igual que cree el procedimiento para deshabilitar Controles también cree uno para habilitarlos llamado HabilitarControles que al contrario del anterior se utiliza para habilitar todos los controles esto servirá para cuando se vaya a editar los datos de la Empresa.

Sub DesabilitarControles()
    txtNombreEmpresa.Enabled = False
    txtPropietario.Enabled = False
    txtNit.Enabled = False
    txtTelefono.Enabled = False
    txtDireccion.Enabled = False
    cmdAbrirImage.Enabled = False
    txtDescripcion.Enabled = False
    cmdTipoRegimen.Enabled = False
    txtResolucion.Enabled = False
    txtFechaApro.Enabled = False
    txtRango1.Enabled = False
    txtRango2.Enabled = False
    txtFacturarDesde.Enabled = False
    cmdGuardar.Enabled = False
    cmdModificar.Enabled = True
End Sub
Sub HabilitarControles()
    txtNombreEmpresa.Enabled = True
    txtPropietario.Enabled = True
    txtNit.Enabled = True
    txtTelefono.Enabled = True
    txtDireccion.Enabled = True
    cmdAbrirImage.Enabled = True
    txtDescripcion.Enabled = True
    cmdTipoRegimen.Enabled = True
    If cmdTipoRegimen.ListIndex = 1 Then
        txtResolucion.Enabled = True
        txtFechaApro.Enabled = True
        txtRango1.Enabled = True
        txtRango2.Enabled = True
        txtFacturarDesde.Enabled = True
    End If
    cmdGuardar.Enabled = True
End Sub

ComboBox Tipo Régimen

Este dato servirá para determinar si la empresa debe pagar o no impuestos si es Si cuando se ingresen los productos hay que especificar el valor del porcentaje de los impuestos, pero esto se verá más adelante.

Para lo anterior en el Evento Clic del ComboBox Régimen se utilizará el siguiente código, que lo que hace es habilitar o deshabilitar los campos de régimen, si la propiedad ListIndex = 0 se deshabilitan los controles de lo contrario se habilitan los controles.

Tenga presente que el ComboBox cmdTipoRegimen debe tener la propiedad Style = 2 – Dropdowm List

Nota: el código siguiente tiene algunas correcciones que no aparecen en el vídeo. 

Private Sub cmdTipoRegimen_Click()
    If cmdTipoRegimen.ListIndex = 0 Then
        txtResolucion.Enabled = False
        txtFechaApro.Enabled = False
        txtRango1.Enabled = False
        txtRango2.Enabled = False
        txtFacturarDesde.Enabled = False
        txtResolucion.Text = "0"
        txtRango1.Text = "0"
        txtRango2.Text = "0"
        txtFacturarDesde.Text = "0"
        txtFechaApro.Mask = ""
        txtFechaApro.Text = ""
    Else
        If cmdTipoRegimen.Enabled = True Then
            txtResolucion.Enabled = True
            txtFechaApro.Enabled = True
            txtRango1.Enabled = True
            txtRango2.Enabled = True
            txtFacturarDesde.Enabled = True
            txtFechaApro.Mask = "##/##/####"
        End If
    End If
End Sub

Para finalizar en el Evento Load del formulario Datos Empresa debemos llamar a la función DesabilitarControles y el ComboBox Régimen dele tener su propiedad ListIndex  = 0 luego de esto llamo al procedimiento LlenarDatos que me trae toda la información que tengo guardad en la  base de datos.

El Evento Load del formulario queda de la siguiente manera:

Private Sub Form_Load()
   Call DesabilitarControles
   cmdTipoRegimen.ListIndex = 0
   Call LlenarDatos
End Sub

Siguiente Lección Parte 10 – Validación Form Datos Empresa y Creacion del Form Perfil de Usuario

 

Total Page Visits: 6253 - Today Page Visits: 7

Deja una respuesta