Una vez que tengas unidas ambas tablas simpelmente lo colocas asi
Código:
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, 2) = dsDetalleFactura.Recordset!DESCRIPCION
grilla.TextMatrix(i, 3) = dsDetalleFactura.Recordset!precio
grilla.TextMatrix(i, 4) = dsDetalleFactura.Recordset!subtotal
' dsDetalleFactura.Recordset.NextRecordset
Next
Ojo que el dsDetalleFactura debe contener la union de tablas no entiendo mucho tu forma de programar yo uso recordset y datagrid
saludos