Curso de Software de Ventas Pt 49 – Buscar Proveedor

En esta sección crearemos la ventana de Buscar Proveedor para mas adelante usarla en la ventana de Compras.

Colabora y Suscribete a mi canal de   

El formulario es una copia casi exacta de Buscar Clientes, solo con algunas variaciones, este formulario quedaría de la siguiente manera:

Código:

Lo primero es una variable a Nivel de formulario, en lo mas arriba:

Dim CodigoProveedor 'variable que controla la edición del proveedor

Lo segundo es hacer la consulta a la tabla proveedores y llenar el MSGrid con ese resultado:

Sub BuscarProveedor()
    Dim Sql As String
    Dim Filtro As String
    Dim Columnas As Integer
    'IdUsuario,usuario,password_us,identificacion,nombres_apellidos,IdNivelUsuario
    Tipo = cmdTipoBusqueda.ListIndex
    Filtro = ""
    Select Case Tipo
           Case 0:
                Filtro = " NombreEmpresaPro like '%" & txtFiltro.Text & "%' "
           Case 1:
                Filtro = " NitEmpresaPro like '%" & txtFiltro.Text & "%' "
           Case 2:
                Filtro = " IdProveedor like '%" & txtFiltro.Text & "%' "
    End Select
    Sql = "Select IdProveedor, NombreEmpresaPro, NitEmpresaPro, TelefonoPro, DireccionPro, NombrePro  From tblProveedores Where " & Filtro
    Columnas = 6
    Call LlenarGrid(msGrid, Sql, Columnas)
    
    
    msGrid.ColWidth(0) = 0
    msGrid.ColWidth(1) = 1100
    msGrid.ColWidth(2) = 3500
    msGrid.ColWidth(3) = 1800
    msGrid.ColWidth(4) = 1800
    msGrid.ColWidth(5) = 1800
    msGrid.ColWidth(6) = 2000

    msGrid.TextMatrix(0, 1) = "ID"
    msGrid.TextMatrix(0, 2) = "Razon Social / Nombre"
    msGrid.TextMatrix(0, 3) = "Identificación"
    msGrid.TextMatrix(0, 4) = "Teléfonos"
    msGrid.TextMatrix(0, 5) = "Dirección"
    msGrid.TextMatrix(0, 6) = "Nombre Proveedor"
    
End Sub

En el código vemos que dependiendo de lo que seleccionemos en el Select cmbTipoBusqueda se hace el filtro (Nombre, Nit, ID)

El Botón datos, que su funcione es poder ver los datos del proveedor seleccionado:

Private Sub cmdDatosCliente_Click()
  IdCliente = msGrid.TextMatrix(msGrid.Row, 1)
  If IdCliente <> "" Then
     glob_ModificarProveedor = True
     frmProveedor.Show
  End If
    
End Sub

La variable glob_ModificarProveedor debe ser declarada en el Modulo Conexión de tipo global:

Global glob_ModificarProveedor As Boolean

El Botón Facturas se deja pendiente para un futuro cuando se cree la parte de saldos de proveedor.

Botón de seleccionar, este se utiliza para cuando se abra el formulario de Buscar Proveedor desde el formulario de Compras:

Private Sub cmdSeleccionar_Click()
    Dim Codigo As Long
    Dim Identificacion As String
    Dim Identificacion As String
    
    Codigo = msGrid.TextMatrix(msGrid.Row, 1)
    If Codigo <> 0 Then
        If glob_FormularioSolicBuscarPro = "frmCompras" Then
           Identificacion = msGrid.TextMatrix(msGrid.Row, 2)
           NombreProveedor = msGrid.TextMatrix(msGrid.Row, 3)
           Call frmCompras.SeleccionarProveedor(Codigo, Identificacion, NombreProveedor)
           Unload Me
        End If
    End If
    
End Sub

La variable glob_FormularioSolicBuscarPro  debe crearse en el Modulo Conexión de tipo Global:

Global glob_FormularioSolicBuscarPro As String

El Evento Load del formulario:

Private Sub Form_Load()
    cmdTipoBusqueda.ListIndex = 0
    If glob_FormularioSolicBuscarCli <> "" Then
       cmdSeleccionar.Enabled = True
    End If
End Sub

Si el formulario de búsqueda se abre desde desde el Menú del formulario principal se inhabilita el botón Seleccionar, para eso se utiliza la variable glob_FormularioSolicBuscarCli .

Y en el textbox TxtFiltro en el evento KeyCode:

Private Sub txtFiltro_KeyUp(KeyCode As Integer, Shift As Integer)
    If KeyCode = 13 Then
       Call BuscarProveedor
    End If
End Sub

En el código anterior al presionar Enter se hace la búsqueda de los proveedores

Para ir adelantando la ventana de compras se vera de la siguiente manera:

El vídeo explicativo:

Comentarios de Facebook
Total Page Visits: 6086 - Today Page Visits: 5

Deja una respuesta