Curso de Software de Ventas Parte 29, Ventana de Ventas Parte 4

En esta lección vamos a trabajar el buscar producto por código y por nombre en la ventana de Ventas.

Colabora y Suscribete a mi canal de   

Para buscar por código, la idea es que al escribir el código y presionar la tecla Enter , me traiga toda la información del producto (Nombre, Precio Venta, Precio Minimo, Existencia) .

Lo primero es crear las variables a nivel de formulario y el RecordSet de producto que lo manejaremos así para no tener que estar pasandole al RecordSet la consulta sino que usaremos la propiedad Requery del RecordSet para que vuelva a actualizar la consulta anterior.

Dim IdProducto As Long
Dim Precio2_Producto As Currency
Dim Precio3_Producto As Currency
Dim RecordSet_Producto As New ADODB.RecordSet

Ahora se crea el procedimiento que toma el código digitado en el campo Código para que busque el producto y obtener el IdProducto, este id se lo pasamos a otro procedimiento que se encarga de llenar los datos del producto en cada campo del formulario.

Sub BuscarProductoCodigo()
    Dim Sql As String
    
    Sql = "Select * From tblProductos Where CodigoPro = '" & txtCodigoPro.Text & "'"
    Set RecordSet_Producto = ConexionADO.Execute(Sql)
        
    Call DatosProducto(RecordSet_Producto("IdProducto"))
    
End Sub

El procedimiento siguiente se encarga de Filtrar el RecordSet por el IdProducto recibido como parámetro y llena los campos del formulario con estos datos

Sub DatosProducto(IdProducto)
    RecordSet_Producto.Filter = " IdProducto = " & IdProducto
    If RecordSet_Producto.RecordCount > 0 Then
       With RecordSet_Producto
            txtCodigoPro.Text = !CodigoPro
            txtNombrePro.Text = !NombrePro
            txtPrecioV_Pro.Text = !PVenta1Pro
            txtPrecioMinimoPro.Text = Format(!PMinimoPro, "currency")
            txtExistPro.Text = !ExistPro
            Precio2_Producto = !PVenta2Pro
            Precio3_Producto = !PVenta3Pro
       End With
    End If
End Sub

Ya tenemos el buscar por código funcional ahora se crea otro procedimiento para buscar por nombre y la idea es que a medida que escriba en el cuadro de texto nombre del producto este me muestro los producto que coincidan en un control List. Para esto hacemos la consulta usando like para que me filtre y llenamos el List con los registros obtenidos y se hace visible la lista, si no hay registros se oculta la lista.

Sub BuscarProductoNombre()
    Dim Sql As String
    
    Sql = "Select * From tblProductos Where NombrePro Like '" & txtNombrePro.Text & "%'"
    Set RecordSet_Producto = ConexionADO.Execute(Sql)
    
    If RecordSet_Producto.RecordCount > 0 Then
       lstListaRapida.Clear
       Do While Not RecordSet_Producto.EOF
                lstListaRapida.AddItem RecordSet_Producto("NombrePro")
                RecordSet_Producto.MoveNext
       Loop
       lstListaRapida.Visible = True
    Else
       lstListaRapida.Visible = False
    End If
    
    
End Sub

Para llamar al procedimiento anterior usamos el evento KeyUp del campo Nombre del Producto y lo condicionamos a que después que se escriban 2 caracteres filtre según lo que hayamos escrito,  de lo contrario ocultamos la lista

 

Private Sub txtNombrePro_KeyUp(KeyCode As Integer, Shift As Integer)
    If Len(txtNombrePro.Text) > 2 Then
       Call BuscarProductoNombre
    Else
       lstListaRapida.Visible = False
    End If
End Sub

 

Apóyanos siguiendo las redes sociales:

Suscribete a Youtube

Siguenos en Twitter

Siguenos en Facebook

Comentarios de Facebook

325total visits,5visits today

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *