to cuilei197979(风) "要是做高难度的报表,可能就需要自定义字段了"是不是用"仅字段定义"的啊, 我现在用的是水晶报表9,书上说水晶报表8.0和水晶报表9差别很大啊
to cuilei197979(风) to daisy8675(莫依 尚小三的芝麻粒) 两位有没有做过的原代码给发过来,让小弟看看啊,最好是用vb+crystalreport9做的
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
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 "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
水晶报表本身就是一个独立的产品,如果你足够的强,那么丝毫无区,但是你足够的聪明,那么自然是选择独立使用
"要是做高难度的报表,可能就需要自定义字段了"是不是用"仅字段定义"的啊,
我现在用的是水晶报表9,书上说水晶报表8.0和水晶报表9差别很大啊
to daisy8675(莫依 尚小三的芝麻粒)
两位有没有做过的原代码给发过来,让小弟看看啊,最好是用vb+crystalreport9做的
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