Video Tutorial

Buscar en este blog

Comparte con tus Amigos...

Cancelar Productos en Punto de Venta de Access 7-1


Ahora ya puede Cancelar Productos dentro de la pantalla de ventas, con solo hacer la seleccion del producto y haciendo dobleclick usted podra confirmar que desea hacer la cancelacion de tal producto, en esta entrega 7-1 podra descargar los codigos que complementan esta funcionalidad.


De esta manera se vuelve mas practico el uso de esta pantalla, donde todos sus valores son recalculados una vez hecha la cancelacion de los productos.






1- MODULO DE CANCELACIONES

  • Codigo [crear Modulo CANCELACIONES y colocar ahi el codigo]
 
Option Compare Database
Option Base 1

'Cantidad de Articulos Vendidos
Public Const cantArtVend2 = 100

'=========== CODIGO PARA CANCELAR PRODUCTOS===========
'Estructura temporal para datos para Ventas
Public Type articuloVendido_tmp
    idprod As Long
    desc As String
    cant As Double
    prec_uni As Double
    prec_tot As Double
End Type
Public artVendido_tmp(cantArtVend2) As articuloVendido_tmp

2- CODIGO DE CANCELACIONES

  • Codigo del Evento DobleClick de Cuadro de lista [ListboxDesc]

 
Dim idArt As Long
Dim tvc As Integer, contadorArticulos As Integer, tac As Integer
Dim cde As Integer, cde2 As Integer, cde3 As Integer

idArt = Me.ListboxDesc.ListIndex
If idArt = -1 Then GoTo errProdNotSel

If MsgBox("Desea Cancelar este producto?", vbOKCancel + vbQuestion, "Cancelacion de Producto") = vbOK Then
    Me.ListboxDesc.RemoveItem idArt
    Me.ListboxCant.RemoveItem idArt
    Me.ListboxPrecUni.RemoveItem idArt
    Me.ListboxPrecTot.RemoveItem idArt
    
    'Colocar una bandera de CANCELADO en la estructura
    artVendido(idArt + 1).desc = "CANCELADO"
    
    'Inicializar estructura temporal
    Erase artVendido_tmp()
    
    'pasar los elementos a la estructura temporal
    contadorlista = ListboxDesc.ListCount
    For cde = 1 To contadorlista + 1
        artVendido_tmp(cde).idprod = artVendido(cde).idprod
        artVendido_tmp(cde).desc = artVendido(cde).desc
        artVendido_tmp(cde).cant = artVendido(cde).cant
        artVendido_tmp(cde).prec_uni = artVendido(cde).prec_uni
        artVendido_tmp(cde).prec_tot = artVendido(cde).prec_tot
    Next cde
    
    'Borrar estructura de datos
    Erase artVendido()
    
    'regresar a la estructura solo los productos que no fueron cancelados
    cde3 = 1
    For cde2 = 1 To contadorlista + 1
        If artVendido_tmp(cde2).desc <> "CANCELADO" Then
            artVendido(cde3).idprod = artVendido_tmp(cde2).idprod
            artVendido(cde3).desc = artVendido_tmp(cde2).desc
            artVendido(cde3).cant = artVendido_tmp(cde2).cant
            artVendido(cde3).prec_uni = artVendido_tmp(cde2).prec_uni
            artVendido(cde3).prec_tot = artVendido_tmp(cde2).prec_tot
            cde3 = cde3 + 1
        End If
    Next cde2
    
    'Borrar estructura temporal
    Erase artVendido_tmp()
    
    'Totalizar Venta
    totalventa = 0
    For tvc = 1 To contadorlista
        totalventa = totalventa + artVendido(tvc).prec_tot
    Next tvc

    'Totalizar Cantidad de Articulos
    contadorArticulos = 0
    For tac = 1 To contadorlista
        contadorArticulos = contadorArticulos + artVendido(tac).cant
    Next tac
    Me.lblCantArt.Caption = contadorArticulos

    'Imprime en pantalla el Total Acumulado
    Me.lblTotal.Caption = Format(totalventa, "$#,###.00")

    'regresa a 1 la cantidad de articulos
    Me.txtCantArt.Value = 1

    'Borra el Codigo de Barras y espera uno nuevo
    Me.txtCodigoArt.Value = ""
    Me.txtCodigoArt.SetFocus
Else
    MsgBox "No se cancelo ningun producto", vbOKOnly
End If
Exit Sub
errProdNotSel:
MsgBox "No se selecciono ningun producto, para cancelacion", vbCritical + vbOKOnly, "Error!"

INDICE      ANTERIOR     SIGUIENTE

10 comentarios:

  1. Respuestas
    1. Sumate en Likes de Facebook y dale Click a "Me Gusta" para lograr que sean gratuitos los codigos de esta entrega.

      Eliminar
  2. ya hice el deposito, los podrian enviar a mi correo los codigos

    ResponderEliminar
    Respuestas
    1. Hola Antonio, los codigos descargables de la entrega 7 ya te fueron enviados a tu correo.

      Gracias por Colaborar a este Blog.

      Eliminar
  3. Antonio , me interesa el curso completo, dime que hacer para que me lo envie a mi correo. drmartinez58@yahoo.es

    ResponderEliminar
  4. para cuando las próximas entregas?

    ResponderEliminar
    Respuestas
    1. Ya casi esta lista al entrega 8 esperala muy pronto, saludos!

      Eliminar
  5. Hola, te felicito por ayudar a las personas a tomar cursos tan interesantes como este. me gustaría saber, como se hace para que todas las entregas funcionen juntas, me refiero a que inicie primero por registrar el usuario, accesar a la base de datos y así sucesivamente, y es posible hacerlo autoejecutable sin que se abre acces?
    Muchísimas gracias!

    ResponderEliminar
    Respuestas
    1. Este laboratorio de Punto de Venta ya esta por terminarse, en esta semana se publicara la pantalla para hacer los cortes de caja, luego vendran 3 entregas mas. Este sistema ya completo tendra una interface completamente accesible a todos sus modulos, asi que lo podras usar para tu uso personal o negocio. Todos los sistemas de Access abren en Access o minimo con un runtime de Access, la version ejecutable de access tiene extencion .accde pero aun este requiere del runtime para poder ejecutarse.

      Eliminar
  6. Buenos días Ingeniero Chapa

    Estoy interesado en adquirir las entregas 7.1, 8, 9, 10, 11 y 12. Por favor me indica cuánto sería el total en dólares? gracias por su colaboración.

    Por cierto, gran trabajo en este proyecto. Pude seguirlo en su totalidad hasta la entrega 7 con éxito rotundo.

    ResponderEliminar

Entradas populares