Buenas, necesito de vuestra inestimable ayuda ya que estoy muy verde con Crystal Reports y no termino de pillarle el punto. Quiero crear un informe con dos columnas para poder imprimir asientos contables, una para el debe y otra para el haber. En la base
de datos cada tipo de apunte está referenciado como D y H, respectivamente.
De momento lo más que he logrado es esto:

En principio la columna TIPAPT no debería verse, pero la he puesto de forma temporal para que sirva de guía durante el desarrollo. Este es el código que uso para llenar el informe con datos:
Private Sub frm_Contabilidad_NuevoAst_Impr_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.Cursor = Cursors.WaitCursor
Me.Text = Me.Text & " " & frm_Contabilidad_NuevoAst.tbASTCTB.Text & " - " & _
frm_Contabilidad_NuevoAst.gbxNuevoAsiento.Text & ", " & frm_Contabilidad_NuevoAst.lbCentro.Text
Try
con.Open()
Dim da As New SqlDataAdapter
Dim ds As New tavosViews
With cmd
.Connection = con
.CommandText = "SELECT * FROM ctb_ast_solo WHERE CODEMP= @CODEMP AND EJERCI = @EJERCI AND CENTRO = @CENTRO AND ASTCTB = @ASTCTB ORDER BY NUMLIN"
.Parameters.AddWithValue("@CODEMP", frm_Contabilidad.iCodemp)
.Parameters.AddWithValue("@CENTRO", frm_Contabilidad.iCentro)
.Parameters.AddWithValue("@EJERCI", frm_Contabilidad_NuevoAst.tbEJERCI.Text)
.Parameters.AddWithValue("@ASTCTB", frm_Contabilidad_NuevoAst.tbASTCTB.Text)
.ExecuteNonQuery()
End With
With da
.SelectCommand = cmd
.Fill(ds)
End With
iNumTablas = ds.Tables.Count.ToString() - 1
objt.SetDataSource(ds.Tables(iNumTablas))
'objt.ParameterFields.Add("IMPDIV1", ParameterValueKind.StringParameter, DiscreteOrRangeKind.DiscreteValue, "rpt_contab_asiento")
'objt.ParameterFields.Add("IMPDIV2", ParameterValueKind.StringParameter, DiscreteOrRangeKind.DiscreteValue = "H", "rpt_contab_asiento")
crv_AstSolo.ReportSource = objt
crv_AstSolo.Refresh()
Catch ex As SqlException
MessageBox.Show(ex.Message)
Me.Cursor = Cursors.Default
Finally
cmd.Parameters.Clear()
con.Close()
End Try
Me.Cursor = Cursors.Default
End Sub
Me conecto como veis usando un dataset. La parte comentada es la que me da error, estoy probando de introducir parámetros para que las filas D se muestren a la izquierda, y las H a la derecha, pero peta todo el rato. IMPDIV1 e IMPDIV2 son el nombre de las
columnas en el objeto .rpt Los sumatorios totales funcionan correctamente pero claro, deberían ser 1671,23 en debe y haber si el código funcionase correctamente.
Alguna sugerencia? Si puede ser con ejemplos de código mejor. Gracias de antemano.