【问题标题】:Crystal reports not showing records returned by sql queryCrystal 报表不显示 sql 查询返回的记录
【发布时间】:2014-10-21 14:53:38
【问题描述】:

我正在使用水晶报表打印发票。

它由来自多个表的字段组成。

我已经创建了 oledbcommand、Oledbdataadapter 和 dataset 以在水晶报表中显示结果。

问题:

如果我将客户的详细信息放在水晶报表的“页眉”部分,它只会显示第一条记录

如果我将它们放在水晶报告的“详细信息”部分,它会显示所有记录。

我已经通过在数据网格中显示结果来验证 sql 查询返回的数据,那里返回的数据是正确的。

所以请有人帮我解决这个问题。

附: : 我正在使用 Ms Access 数据库。

而且我对水晶报告只有一点了解,所以我可能犯了一个愚蠢的错误。

如果可能,请上传整个代码以将多个数据库表打印到水晶报表上。

我真的很困所以请帮忙

代码:

bcmd = New OleDbCommand
bcmd.Connection = Functions.dbcon
bcmd.CommandText = "SELECT * from Item where Item_ID = 16"
bcmd.ExecuteNonQuery()

bda = New OleDbDataAdapter(bcmd)
bds = New DataSet

bda.Fill(bds)

rptdoc.load("full absolute path")  // file exists here , so no issues with it 

rptdoc.setdatasource(bds.tables(0))

repview.reportsource = rptdoc

【问题讨论】:

  • 您说如果您将字段放入“详细信息”部分,那么它会显示所有记录...那么究竟是什么问题?
  • 它应该显示通过sql查询过滤的特定记录
  • 你能发布你的代码吗?
  • @user3762349,你需要更详细一点。你能描述一下你的过滤器吗?您是说报告中的某些值应该被过滤器删除吗?你是说你没有看到你期望的所有列?
  • 即使我使用了 where 子句,它也会显示所有记录

标签: database vb.net crystal-reports oledb


【解决方案1】:

感谢大家的支持,

我想我已经找到了解决办法。

要打印符合条件的特定记录,您可以使用

rptdoc.RecordSelectionFormula 属性

提供字段名 --> {table name.column name} = value

【讨论】:

    猜你喜欢
    • 2013-10-31
    • 2013-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-18
    • 1970-01-01
    相关资源
    最近更新 更多