vb+CrystalReport9
1.在水晶报表的数据库字段中用"仅字段定义"和其它的有什么不同?
2.用水晶报表设计器和用在代码中实现水晶报表的差别和应用范围有什么不同?
3.谁有用上述的观点做的vb原代码给发过来看看啊?一般都是从哪里下载啊?

解决方案 »

  1.   

    1.在水晶报表的数据库字段中用"仅字段定义"和其它的有什么不同?自定义的可以使用ttx,这样可以很随心的设计报表,而不依赖于ADO等连接,而且也不会出现二重登陆的BUG,实际用自定义,个人认为算是一种成熟的方式2.用水晶报表设计器和用在代码中实现水晶报表的差别和应用范围有什么不同?
    水晶报表本身就是一个独立的产品,如果你足够的强,那么丝毫无区,但是你足够的聪明,那么自然是选择独立使用
      

  2.   

    to cuilei197979(风)
       "要是做高难度的报表,可能就需要自定义字段了"是不是用"仅字段定义"的啊,
     我现在用的是水晶报表9,书上说水晶报表8.0和水晶报表9差别很大啊
      

  3.   

    to cuilei197979(风)
    to daisy8675(莫依 尚小三的芝麻粒)
    两位有没有做过的原代码给发过来,让小弟看看啊,最好是用vb+crystalreport9做的
      

  4.   

    1.在水晶报表的数据库字段中用"仅字段定义"和其它的有什么不同?
     f:字段定义最灵活,我经常定义一个仅一个字段的ttx表,然后使用嵌入设计器添加UnboundString字段,然后改其属性名,然后在代码中直接SETTEXT()之;我最希望连自定义字段都省去,就给个记录集,无奈不通ing!
    2.用水晶报表设计器和用在代码中实现水晶报表的差别和应用范围有什么不同?
     在代码中的设计器设计功能没有独立设计器工具多,但是多了个UnboundString字段;
    3.谁有用上述的观点做的vb原代码给发过来看看啊?一般都是从哪里下载啊?以下代码,多余的你要看出来,那不是你要的!
    Private Sub PrintOrderLists()
        On Error GoTo eh
        Dim sem As String
         
        Dim rs As New ADODB.Recordset
        Dim curQuantity As Currency
        Dim curMoney As Currency
        Dim oSys As New MLSys
        Dim oList As OrderList
        Dim oOrder As Order
        Dim sTitle As String
        Dim sReportName As String
                         
        sReportName = gInfo.GetInfo(infoFindOrder, gConnector)
        sTitle = "单据资料"    With rs.Fields
            .Append "Id", adVarChar, 20
            .Append "OrderNo", adVarChar, 50
            .Append "OrderDate", adVarChar, 20
            .Append "DeliverDate", adVarChar, 20
            .Append "CustomerName", adVarChar, 100
            .Append "ProductName", adVarChar, 200
            .Append "Specification", adVarChar, 200
            .Append "Material", adVarChar, 100
            .Append "Unit", adVarChar, 50
            .Append "Quantity", adVarChar, 20
            .Append "ProduceQuantity", adVarChar, 20
            .Append "FinishQuantity", adVarChar, 20
            
            .Append "Price", adVarChar, 20
            .Append "Money", adVarChar, 20
            .Append "Mo", adVarChar, 200
         
        End With    rs.Open
        Dim oRow As SSRow    For Each oRow In Me.grdOrderList.Selected.Rows
            For Each oOrder In mOrder.Orders
                For Each oList In oOrder.OrderLists                If oList.ListId = oRow.Cells(gName.ListId).GetText Then
                        rs.AddNew                    With oList
                            rs("Id").Value = ToString(rs.RecordCount)
                            rs("OrderNo").Value = oOrder.OrderNo
                            rs("OrderDate").Value = ToString(oOrder.OrderDate)
                            rs("DeliverDate").Value = ToString(oOrder.DeliverDate)
                            rs("CustomerName").Value = oOrder.CustomerName
                            rs("ProductName").Value = .ProductName
                            rs("Specification").Value = .Specification
                            rs("Material").Value = .MaterialName
                            rs("Unit").Value = .Unit                        If .Quantity <> 0 Then rs("Quantity").Value = .Quantity
                            rs("FinishQuantity").Value = .FinishQuantity
                            rs("ProduceQuantity").Value = .ProduceQuantity
                    
                            If .Price <> 0 Then rs("Price").Value = .Price
                            If .Money <> 0 Then rs("Money").Value = .Money
                            rs("Mo").Value = .Memo                        curQuantity = curQuantity + .Quantity
                            curMoney = curMoney + .Money
                        End With                End If            Next
        
            Next
        Next    Dim rpt As CRAXDRT.Report
        Dim rptApp As New CRAXDRT.Application
        Set rpt = rptApp.OpenReport(GetReportPath & sReportName)
        rpt.Database.SetDataSource rs
        
        SetText "txtTotalQuantity", curQuantity, rpt
        SetText "txtTotalMoney", curMoney, rpt
        
        SetText "txtDate", Me.dFrom.Value & "至" & Me.dTo.Value, rpt
        SetText "text3", sTitle, rpt
        sem = fPrint.PrintReport(rpt)
        ShowForm fPrintsub_exit:
        On Error Resume Next    If sem <> "" Then AddLog sem, Me.Caption
        Exit Sub
    eh:
        sem = Err.Description
        Resume sub_exit
    End Sub