Cómo pasar de un textbox a un datagrid. VB 6.0

Desde ya muchas gracias por tomarse el tiempo para leer mi consulta.

Tengo un formulario en el cual selecciono un código de un producto el cual me trae la descripción del Producto y su precio... En una caja de texto le agrego la cantidad que el cliente quiere comprar de ese producto y me calcula el total a pagar... Esto que ingreso y luego el cálculo de lo que va a pagar quiero que se me pase a un DataGrid, para ir viendo los productos que formarían parte de la factura...

Tengo este código:

Private Sub cmdIncorporaCompra_Click()
    Dim X As Integer
    Me.Left = 0
    Me.Top = (Screen.Height) / 6
   For X = 1 To 4
    Set dtaFactura.Columns(X) = TxtProductos.Item(X)
   Next X
    dtaFactura.AllowUpdate = False
    dtaFactura.Scroll 0, -1
    If dtaFactura.Row > 0 Then
        dtaFactura.Row = dtaFactura.Row - 1
    End If
    dtaFactura.Scroll 0, -1
    dtaFactura.Columns.Item(0).Caption = "Cod. Producto"
    dtaFactura.Columns.Item(0).Width = 1300
    dtaFactura.Columns.Item(1).Caption = "Descripción"
    dtaFactura.Columns.Item(1).Width = 3000
    dtaFactura.Columns.Item(2).Caption = "Cantidad"
    dtaFactura.Columns.Item(2).Width = 1000
    dtaFactura.Columns.Item(3).Caption = "Precio Prod"
    dtaFactura.Columns.Item(3).Width = 1000
    dtaFactura.Columns.Item(4).Caption = "Total"
    dtaFactura.Columns.Item(4).Width = 1000
End Sub
'POR OTRO LADO TENGO ESTE CÓDIGO QUE ME SELECCIONA EL PRODUCTO, Y EL PRECIO _
PERO ESE NO ES EL PROBLEMA... LO AGREGO POR SI SIRVE PARA ALGO...
Private Sub TxtProductos_Change(Index As Integer)
    Dim StrBuscaProd As String
    Dim RstBuscaProd As New ADODB.Recordset
    Select Case Index
        Case 0
        StrBuscaProd = "SELECT Descripcion, Precio_Producto, Cantidad FROM PRODUCTOS WHERE Cod_Producto ='" & TxtProductos(0).Text & "'"
        RstBuscaProd.Open StrBuscaProd, Base, adOpenStatic, adLockOptimistic
        With RstBuscaProd
            If .BOF = False And .EOF = False Then
                    TxtProductos(1).Text = !Descripcion
                    TxtProductos(2).Text = FormatCurrency(!Precio_Producto)
                    Else
                    If .BOF = True Then
                        TxtProductos(1).Text = ""
                        TxtProductos(2).Text = ""
                        TxtProductos(3).Text = ""
                     '   TxtProductos(4).Text = ""                     
                    End If
                End If
        End With
        Case 3
        TxtProductos(4).Text = FormatCurrency((TxtProductos(2) * TxtProductos(3)))
    End Select
End Sub

1 Respuesta

Respuesta
-1

[Hola

Visual Basic 6.0 está bastante fuera de tiempo pero yendo a tu dilema, no uses un "DataGrid", usa un "FlexGrid" y así podrás llenar solo las celdas que necesites. Con el primero no se puede.

Abraham Valencia

Hola. Gracias por responder...

Cambié y puse un flexgrid... Con este código me dice que tengo el subindice fuera de intervalo.

 StrBuscaProd = "SELECT Cod_Producto, Descripcion, Cantidad,  Precio_Producto FROM PRODUCTOS WHERE Cod_Producto ='" & TxtProductos(0).Text & "'"
 RstBuscaProd.Open StrBuscaProd, Base, adOpenStatic, adLockOptimistic
    MsFFactura.Scroll 0, -1
    MsFFactura.Columns.Item(0).Caption = "Cod. Producto"
    MsFFactura.Columns.Item(0).Width = 1300
    MsFFactura.Columns.Item(1).Caption = "Descripción"
    MsFFactura.Columns.Item(1).Width = 3000
    MsFFactura.Columns.Item(2).Caption = "Cantidad"
    MsFFactura.Columns.Item(2).Width = 1000
    MsFFactura.Columns.Item(3).Caption = "Precio Prod"
    MsFFactura.Columns.Item(3).Width = 10

La línea que me marca con el error es Cantidad...

¿Me puedes orientar de cómo hacerlo?

GRACIAS!

Al ser dos objetos distintos, no necesariamente las propiedades son las mismas. Parece que recién inicias en esto de la programación (solo copiar/pegar no es buena costumbre en esto), no creo que hoy por hoy la mejor elección sea VB 6.0 (aunque en su momento era de lo mejor) pero en todo caso te invito a a leer esto:

https://issuu.com/chapulin/docs/mfd 

Abraham Valencia

¡Gracias!  Ya lo pude resolver!!! No me inicio recién en la Programación como tampoco en la docencia... Ja... Si usted desea que alguien entienda algo lo tiene que orientar con un poco más de herramientas... Jaja. Muchas gracias de todos modos.

Nada tan inmaduro como poner votos negativos, que suerte que a algunos no nos importan. Ah, por cierto, lee, copiar y pegar no hace que uno aprenda.

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas