VB6(Fast Report Studio 4.6.80)

来源:互联网 发布:小助手软件 编辑:程序博客网 时间:2024/05/16 17:26

在网上找了很长时间的Fastreport,各种版本的都试了。均不理想。Studio3.20 也用过。有些方法不支持,有些方法使用起来非常不方便。经过长时间的摸索后 在studio 4.6.80的版本上试验证明,虽然仍有不理想的地方。但还凑合着使用。

 

下面是一个通过传递参数建立的查询报表(where子句的两个参数)。希望实现的功能是 select * from tblWeight where DDate>'2009-07-09 00:12:23' and DDate <'2009-10-12 08:12:23'

 

将上述参数传递给已建好的报表的组件“ADOQuery1”内的两个参数Param1和Param2。

 

 

Dim frx As FastReport.TfrxReport

Private Sub Form_Load()
  Set frx = CreateObject("FastReport.TfrxReport")

  frx.LoadReportFromFile ("Simple group.fr3")
 
  Dim Query As FastReport.TfrxADOQuery
  Dim Param1 As FastReport.IfrxParamItem
  Dim Param2 As FastReport.IfrxParamItem
  Set Query = frx.FindObjectEx("ADOQuery1")
  If Query Is Nothing Then Return
  Set Param1 = Query.ParamByName("Param1")
  If Param1 Is Nothing Then Return
  Param1.Expression = "'2009-07-09 00:12:23'"
  Set Param1 = Nothing
 
  Set Param2 = Query.ParamByName("Param2")
  If Param2 Is Nothing Then Return
  Param2.Expression = "'2009-10-12 08:12:23'"
  Set Param2 = Nothing
 
  frx.ShowReport
  Set Query = Nothing

End Sub

 

 

切记,参数引号中的两个 ' '   不要漏掉。 

 

 

 

还有一个有趣的问题,在ReportDesigner中建立ADOquery1的SQL语句时,写完SQL语句后,两个参数并不会自动直接出现在参数编辑界面里,如果出现这情况,可以先在SQL设计器里生成一个参数的SQL语句,然后把代码拷贝到SQL语句窗口,然后手工加上 and后面的第二个参数,最后调出参数报表,这样就可以看到Param1 和Param2了。