在下有个问题,一个很基本的问题本人初学水晶报表,可是现在把表已经设计完了(完全按照里边建表的一步一步作的)对表的其他设置没有设置        CrystalReport1.ReportFileName = "c:\20040813.rpt "
        CrystalReport1.SQLQuery = "SELECT * From DATA1_TABLE WHERE (ID < 10)"
        CrystalReport1.Action = 1
然后添加了这三条语句可是显示结果还是显示出来了数据库中的全部数据而并不是我给其属性CrystalReport1.SQLQuery = "SELECT * From DATA1_TABLE WHERE (ID < 10)"赋值的这个结果百思不得其解望各位高手赐教本人不胜感激!谢谢

解决方案 »

  1.   

    好象不行,我以前也试过
    select * from table1 where lb = 参数;
    不行
    该为
    select * from table1
    然后在 报表中设置参数字段 lb,在选择专家中将 lb 等于?lb
    就可以了。
      

  2.   

    再水晶報表里的show sql query里面,加入where (ID < 10)
      

  3.   

    再加上 CrystalReport1.SelectionFormula = "{DATA1_TABLE.ID}=1"
      

  4.   

    CrystalReport1.SelectionFormula = "{DATA1_TABLE.ID}=1"
    rpt1.DiscardSavedData = True
      

  5.   

    可参照下面的代码
    Dim rptApp As New CRAXDRT.Application
    Dim rpt As New CRAXDRT.Report
    Dim rs As ADODB.Recordset
    Dim Conn As ADODB.ConnectionSet Conn = New ADODB.Connection
    '假设你的数据库是access,如果是sql,你替换一下。
    Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=databasename.mdb;Persist Security Info=False"
    Set rs = New ADODB.Recordset
    rs.Open "SELECT * From DATA1_TABLE WHERE (ID < 10)", Conn, adOpenKeyset, adLockReadOnly, 1
    Set rpt = rptApp.OpenReport(App.Path & "\rpt\tmp_persontab.rpt")
    Call rpt.Database.Tables(1).SetDataSource(rs)
    rpt.DiscardSavedData
    CrystalReport1.ReportSource = rpt
    CrystalReport1.ViewReport
      

  6.   

    記得把把哪個 save data with report也要去掉勾