我按照自定义字段的方法加载动态数据源做成报表,我希望在报表中加入制表人的信息,如"制表人:"&user。其中USER是我定义的全局变量,在使用者登录程序时取得,并非数据源的一个字段,我该如何做呀?

解决方案 »

  1.   

    你可以把这个变量加入到recordset中间传递过去呀用append就行啦
      

  2.   


    rs.Open rszcxxcxstr, conn, adOpenDynamic, adLockOptimistic
    rs.Fields.Append "logo", adVariant
    rs.Fields("logo").Value = user
    是这样写吗?
    可运行提示“在此环境中不允许操作”
      

  3.   

    rs.Open rszcxxcxstr, conn, adOpenDynamic, adLockOptimistic
    rs.Fields.Append "logo", adVariant
    rs.Fields("logo").Value = user
    是这样写吗?
    可运行提示“在此环境中不允许操作”
    //你是在什么情况下产生,我现在没有装crystal啊这个是VB方面处理Recordset的问题,恩,呆会给你洗个,现在先忙家务:P
      

  4.   

    Dim CryApp   As New CRAXDDRT.Application
    Dim Report   As CRAXDDRT.Report
    Public strUser As String  '这是全局变量Dim strCnn   As String
    Set Report = CryApp.OpenReport(App.Path & "\report2.rpt")Dim cnn1   As New ADODB.Connection
    Dim adoRS   As New ADODB.RecordsetstrCnn = "Provider=sqloledb;Data  Source=abrams;Initial  Catalog=salestesttmp;User  Id=sa;Password=test;"
    cnn1.Open strCnn'一般写SQL会写成strSQL = "Select * from Jobs",但是在Recordset中间我们加入一个字段,比如是ReportName,代表是指表人
    adoRS.Open "Select * ," & "'" & strUser & "'" & " as ReportName   from jobs", cnn1, adOpenDynamic, adLockBatchOptimistic
    Report.Database.SetDataSource adoRSScreen.MousePointer = vbHourglass
    CRViewer91.ReportSource = Report
    CRViewer91.ViewReport
    Screen.MousePointer = vbDefault看清楚没,需要下工夫的只是SQL而已
      

  5.   

    谢谢。
    可有些字段显示不出来是怎么回事?字段类型不符吗?
    在SQL中显示为smartdatetime的字段应该设成什么类型的字段呢?我发现所有显示不出来的字段都是这种字段,我设为日期型没用,设为字符串型也不行。