导航
  • 主页
  • VBS
  • .NET技术
  • VBA
  • VB网络编程
  • VB多媒体
  • VB数据库
  • VB控件
  • VB COM/DCOM
  • VB基础类
  • VB API
  • 问答

救命啊,幫幫忙各位大俠,關於水晶报表傳參數问题,急啊。

seawavefj 2004-04-09 04:52:57
請問各位大俠,我是用CrystalReport 10(未注冊) 的,現在遇到的問題是傳參數要怎麼傳,
我寫的代碼如下: Dim paramFields As New ParameterFields
      Dim paramField As New ParameterField
   Dim discreteVal As New ParameterDiscreteValue

paramField.ParameterFieldName = "日期"
discreteVal.Value = "2004/04/09"
paramField.CurrentValues.Add(discreteVal)
paramFields.Add(paramField)
CrystalReportViewer1.ParameterFieldInfo = paramFields
可是出來的是:您请求的报表需要更多信息.

Crystal 参数字段

Para_PRCS_DATETO
   ˍˍˍ
值 |ˍˍ|


Para_PRCS_DATEFROM
   ˍˍˍ
值 |ˍˍ|

輸入值後點“提交”顯示空白頁面。請問要怎麼解決?最好的代碼。謝謝。


...全文
30 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lzg530 2004-04-10
关注中,
回复
chinahth 2004-04-10
在报表标题处加一个text框取名textname
Try
Dim connstr, selectcmd, str As String
Dim conn As OleDbConnection, myadapter As OleDbDataAdapter
Dim mydataset As New DataSet
str = Trim(frm33.txttj.Text)
connstr = "provider=microsoft.jet.oledb.4.0;data source=d:\rs\db\db.mdb"
selectcmd = "select * from jcxx where " & str
conn = New OleDbConnection(connstr)
conn.Open()
myadapter = New OleDbDataAdapter(selectcmd, conn)
myadapter.Fill(mydataset, "jcxx")
Dim orpt As New rs_zgmd '报表名
Dim a As CrystalDecisions.CrystalReports.Engine.TextObject
a = orpt.ReportDefinition.ReportObjects.Item("textname")‘textname为你报表上的标题字段名
a.Text = yhbh '用户自定义的值
orpt.SetDataSource(mydataset.Tables("jcxx"))
crview_ygmd.ReportSource = orpt
crview_ygmd.RefreshReport()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Information, aa)
End Try
这是我传值的一个,你看看
回复
seawavefj 2004-04-10
有赋值了,不过不知道有没有传过去
回复
chinahth 2004-04-10
看看是不是所有参数都赋了值
回复
seawavefj 2004-04-10
为什么在显示报表之前会出现“您请求的报表需要更多信息”要我输入参数值,我输入后提交出现空白页面。我的CrystalReport 10(未注冊)的,与这有关系吗?
回复
kewudemao 2004-04-09
试试看下面的代码,我用它来实现报表参数传递的
Dim tmpValues As CrystalDecisions.Shared.ParameterValues
Dim tmpValue As CrystalDecisions.Shared.ParameterDiscreteValue
Dim strValue(10) As String

'strValues(10)里面存储的是每个参数对应的值

Try
For i = 0 To frmReport.ReportViewer.ParameterFieldInfo.Count - 1

tmpValues = New CrystalDecisions.Shared.ParameterValues
tmpValue = New CrystalDecisions.Shared.ParameterDiscreteValue

tmpValue.Value = strValue(i)
tmpValues.Add(tmpValue)

frmReport.ReportViewer.ParameterFieldInfo.Item(i).CurrentValues = tmpValues
End If
Next

frmReport.ShowDialog()
Catch ex As Exception
MsgBox(ex.Message)
End Try
回复
seawavefj 2004-04-09
補充:Para_PRCS_DATETO 及Para_PRCS_DATEFROM是參數名稱。
回复
发动态
发帖子
VB
创建于2007-09-28

1.5w+

社区成员

VB技术相关讨论,主要为经典vb,即VB6.0
申请成为版主
社区公告
暂无公告