Bueno no se como esta cargando el FlexGrid, pero supongamos que utilizas un RecordSet para ello, entonces para llenar el FlexGrid debes utilizar algo parecido a esto:
'en el general
Dim cnFarma As New ADODB.Connection
Dim rsPrecios As New ADODB.Recordset
Private Sub Form_Load()
Set cnFarma = New ADODB.Connection
ruta = App.Path + "DB.mdb"
cnFarma.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + ruta
Set rsPrecios = New ADODB.Recordset
rsPrecios.CursorLocation = adUseClient
rsPrecios.Open "SELECT idarticulo,descripcion, precio FROM articulo order by descripcion", cnFarma, adOpenStatic, adLockReadOnly
rsPrecios.MoveFirst
MSFlexGrid1.Rows = 1
MSFlexGrid1.Clear
MSFlexGrid1.FormatString = "<Codigo" & Space(20) & "|<Descripcion" & Space(20) & "|<Precio "
Do While Not rsPrecios.EOF
MSFlexGrid1.AddItem rsPrecios.Fields(0).Value & vbTab & rsPrecios.Fields(1).Value & vbTab & rsPrecios.Fields(2).Value
rsPrecios.MoveNext
Loop
End Sub
'y para trasladar los datos al datareport:
Private Sub cmdImprimir_Click()
On Error Resume Next
With dtrPrecios
For fila = 1 To MSFlexGrid1.Rows - 1
For columna = 1 To MSFlexGrid1.Cols - 1
.Sections("Sección1").Controls("txtCodigo") = MSFlexGrid1.TextMatrix(fila, columna)
.Sections("Sección1").Controls("txtDescripcion") = MSFlexGrid1.TextMatrix(fila, columna)
.Sections("Sección1").Controls("txtPrecio") = MSFlexGrid1.TextMatrix(fila, columna)
Next columna
Next fila
Set .DataSource = rsPrecios
.Show
End With
End Sub
'al descargar el form
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
rsPrecios.Close
Set rsPrecios = Nothing
End Sub
Ahora si tienes en cuenta los nombres de los objetos en el DataReport todo este listo.
Espero que te ayude....
Suerte y un saludo
<<_GIOMAR_>>
Buenas tardes, he estado analizando el ejemplo ya que lo necesito para un proyecto, pero a la hora del reporte.show no muestra nada.. con tu experiencia me harias el gran favor de solucionar este problema...
Agradecido
Alberto Orellana