VB6(Fast Report Studio 4.6.80)

在网上找了很长时间的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了。

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...