Cantidad con mshflexgris
Hola que tal estoy haciendo un formulario de facturacion en visual basic y hasta ahora va muy bien
gracias a que en este foro me ayudaron un monton .
Cada vez que pongo el codigo de barras del producto aparece en el control del "Mshfexgrid" la
descripcion del producto y luego se suma cuando presiono el boton de comando.
Ahora el inconveniente que tengo es que cada vez que pongo el codigo de barras en la columna en donde
aparece la cantidad del los productos comprados me gustaria que apareciera una unidad mas por
cada vez que ingreso el mismo cogigo de barras.
Por ejemplo en vez de que me aparesca pizza 5$
pizza 5$
pizza 5$
que me aparesca pizza 3u. 5$
El codigo que tengo hecho hasta ahora es el siguiente
Dim NUMFILA As Long
Private Sub Command1_Click()
suma = 0
For i = 1 To Grid.Rows - 1
If IsNumeric(Grid.TextMatrix(i, 6)) Then
suma = suma + Grid.TextMatrix(i, 6)
End If
Next
TxtTotal = suma
End Sub
Private Sub Form_Load()
Dim titulos As String
Grid.TextMatrix(0, 1) = "Articulo"
Grid.TextMatrix(0, 2) = "Cantidad"
Grid.TextMatrix(0, 3) = "U.M."
Grid.TextMatrix(0, 4) = "Descripción"
Grid.TextMatrix(0, 5) = "I.V.A."
Grid.TextMatrix(0, 6) = "P.Unitario"
Grid.TextMatrix(0, 7) = "Dto."
Grid.TextMatrix(0, 8) = "Importe Total"
titulos = "| Articulo | Cantidad | U.M. | Descripción | I.V.A. | P.Unitario | |Dto. | Importe Total |"
Grid.FormatString = titulos
NUMFILA = 0
End Sub
Private Sub TxtCodigo_Change()
Dim text As String
Dim i As Integer
Dat_Libreria.Recordset.Index = "ID"
Dat_Libreria.Recordset.Seek "=", txtCodigo.text
If Not Dat_Libreria.Recordset.NoMatch Then
NUMFILA = NUMFILA + 1
Grid.TextMatrix(NUMFILA, 1) = "" & Dat_Libreria.Recordset("Articulo")
Grid.TextMatrix(NUMFILA, 2) = "" & Dat_Libreria.Recordset("Cantidad")
Grid.TextMatrix(NUMFILA, 4) = "" & Dat_Libreria.Recordset("Nombre")
Grid.TextMatrix(NUMFILA, 6) = "" & Dat_Libreria.Recordset("Precio")
txtCodigo.text = text
Else
'MsgBox "No se ha encontrado articulo con esa descripción"
Dat_Libreria.Recordset.Index = ""
End If
'End If
End Sub
Gracias de antemano
gracias a que en este foro me ayudaron un monton .
Cada vez que pongo el codigo de barras del producto aparece en el control del "Mshfexgrid" la
descripcion del producto y luego se suma cuando presiono el boton de comando.
Ahora el inconveniente que tengo es que cada vez que pongo el codigo de barras en la columna en donde
aparece la cantidad del los productos comprados me gustaria que apareciera una unidad mas por
cada vez que ingreso el mismo cogigo de barras.
Por ejemplo en vez de que me aparesca pizza 5$
pizza 5$
pizza 5$
que me aparesca pizza 3u. 5$
El codigo que tengo hecho hasta ahora es el siguiente
Dim NUMFILA As Long
Private Sub Command1_Click()
suma = 0
For i = 1 To Grid.Rows - 1
If IsNumeric(Grid.TextMatrix(i, 6)) Then
suma = suma + Grid.TextMatrix(i, 6)
End If
Next
TxtTotal = suma
End Sub
Private Sub Form_Load()
Dim titulos As String
Grid.TextMatrix(0, 1) = "Articulo"
Grid.TextMatrix(0, 2) = "Cantidad"
Grid.TextMatrix(0, 3) = "U.M."
Grid.TextMatrix(0, 4) = "Descripción"
Grid.TextMatrix(0, 5) = "I.V.A."
Grid.TextMatrix(0, 6) = "P.Unitario"
Grid.TextMatrix(0, 7) = "Dto."
Grid.TextMatrix(0, 8) = "Importe Total"
titulos = "| Articulo | Cantidad | U.M. | Descripción | I.V.A. | P.Unitario | |Dto. | Importe Total |"
Grid.FormatString = titulos
NUMFILA = 0
End Sub
Private Sub TxtCodigo_Change()
Dim text As String
Dim i As Integer
Dat_Libreria.Recordset.Index = "ID"
Dat_Libreria.Recordset.Seek "=", txtCodigo.text
If Not Dat_Libreria.Recordset.NoMatch Then
NUMFILA = NUMFILA + 1
Grid.TextMatrix(NUMFILA, 1) = "" & Dat_Libreria.Recordset("Articulo")
Grid.TextMatrix(NUMFILA, 2) = "" & Dat_Libreria.Recordset("Cantidad")
Grid.TextMatrix(NUMFILA, 4) = "" & Dat_Libreria.Recordset("Nombre")
Grid.TextMatrix(NUMFILA, 6) = "" & Dat_Libreria.Recordset("Precio")
txtCodigo.text = text
Else
'MsgBox "No se ha encontrado articulo con esa descripción"
Dat_Libreria.Recordset.Index = ""
End If
'End If
End Sub
Gracias de antemano
Lo que tendrías que hacer sería algo así como cuando tenés identificado el artículo que se agregó para facturarse es buscar si existe el código (como figura en tu código) y en caso afirmativo buscar dentro del Grid si ya fue ingresado:
por si a ese Row tenés que incrementarle la cantidad y modificar el importe total del artículo y
por no agregar un nuevo renglón con los datos y la cantidad en uno.
Espero que sea de tu ayuda, saludos. Eduardo.
por si a ese Row tenés que incrementarle la cantidad y modificar el importe total del artículo y
por no agregar un nuevo renglón con los datos y la cantidad en uno.
Espero que sea de tu ayuda, saludos. Eduardo.
