Cita:
Iniciado por gasafonso
Private Sub carga_datos()
Dim sql As String
Dim criterio As String
tbdetallefactura where numfactura= " + txtNroPresupuesto.Text & " "
criterio = "numfactura= '" & txtNroPresupuesto.Text & "'"
dsDetalleFactura.Recordset.FindFirst criterio
For i = 1 To grilla.Rows - 1
dsDetalleFactura.Recordset.MoveFirst
dsDetalleFactura.Recordset.FindFirst criterio
grilla.TextMatrix(i, 0) = dsDetalleFactura.Recordset!cantidad
grilla.TextMatrix(i, 1) = dsDetalleFactura.Recordset!codigoprod
grilla.TextMatrix(i, 3) = dsDetalleFactura.Recordset!precio
grilla.TextMatrix(i, 4) = dsDetalleFactura.Recordset!subtotal
' dsDetalleFactura.Recordset.NextRecordset
Next
-------------------------------------------------------------------------------------
Pero quiero que se repita mientras numfactura= txtNroPresupuesto.Text
numfactura es el campo de una tabla , y quiero cargar todos los items de ese numfactura que estan en un tabla que tiene (numfactura, importe, codiProd, Cantidad)
gracias
PD: Trabajo con ado, quiero reconstituir la factura original,
Si no encuentas tu solución es porque no haces caso de los consejos que te dan y no miras el código que te ponen.
Siguiendo con tus datos, suponemos que
dsDetalleFactura es un control Data de ADO (
Adodc) y
grilla es un control
MSFlexGrid (si no es así, nos lo indicas).
Pues bien, copia el siguiente código (modifica [
LaTabla] con el nombre de tu tabla)
Código:
Private Sub carga_datos()
Dim i As Long
dsDetalleFactura.RecordSource = "SELECT * FROM [LaTabla] WHERE numfactura LIKE'%" & txtPresupuesto.Text & "%'"
dsDetalleFactura.Refresh
With grilla
.Rows = dsDetalleFactura.Recordset.RecordCount
.Cols = dsDetalleFactura.Recordset.Fields.Count
i = 1
Do Until dsDetalleFactura.Recordset.EOF
.TextMatrix(i, 0) = dsDetalleFactura.Recordset!cantidad
.TextMatrix(i, 1) = dsDetalleFactura.Recordset!codigoprod
.TextMatrix(i, 2) = dsDetalleFactura.Recordset!precio
.TextMatrix(i, 3) = dsDetalleFactura.Recordset!Subtotal
i = i + 1
If i = .Rows Then Exit Do
dsDetalleFactura.Recordset.MoveNext
Loop
End With
End Sub
Espero que así te funcione y si te dá error, nos indiques el tipo de error y en la línea de código donde lo dá.