Cantidad con mshflexgris

Mario
17 de Febrero del 2004
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



edu1972
17 de Febrero del 2004
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.