📄 productpercentage.dsr
字号:
VERSION 5.00
Begin {9EB8768B-CDFA-44DF-8F3E-857A8405E1DB} ProductPercentage
Caption = "维修部件损坏率表"
ClientHeight = 11115
ClientLeft = 165
ClientTop = 450
ClientWidth = 15240
Icon = "ProductPercentage.dsx":0000
StartUpPosition = 3 '窗口缺省
_ExtentX = 26882
_ExtentY = 19606
SectionData = "ProductPercentage.dsx":038A
End
Attribute VB_Name = "ProductPercentage"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim Cnn As New ADODB.Connection
Dim Rss As New ADODB.Recordset
Private WithEvents mChart As TeeChart.TChart
Attribute mChart.VB_VarHelpID = -1
Private Sub ActiveReport_Initialize()
Me.Toolbar.Tools.Add "退出(&E)"
Me.Toolbar.Tools(Me.Toolbar.Tools.Count - 1).ID = 999
'Me.Toolbar.Tools.Insert 2, "设置"
'Me.Toolbar.Tools(3).ID = 888
'Me.Toolbar.Tools(3).Type = 1
Me.Toolbar.Tools(0).Visible = False
Me.Toolbar.Tools(1).Visible = False
Me.Toolbar.Tools(3).Visible = False
Me.Toolbar.Tools(4).Visible = False
Me.Printer.PaperHeight = 15876
Me.Printer.PaperWidth = 11910
Me.Printer.Orientation = ddOPortrait
End Sub
'Private WithEvents mChart As TeeChart.TChart
Private Sub ActiveReport_PageStart()
Me.TChart1.Series(0).Clear
End Sub
Private Sub ActiveReport_QueryClose(Cancel As Integer, CloseMode As Integer)
On Error Resume Next
Cnn.Close
Rss.Close
End Sub
'
Private Sub ActiveReport_ReportStart()
Dim sqlStr As String
With Me.TChart1
.Axis.Left.Inverted = True
.Aspect.View3D = False
End With
Cnn.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=SerManage"
Cnn.Open
Set Rss.ActiveConnection = Cnn
Rss.CursorLocation = adUseClient
Dim frmTemp As Form
Dim bShow As Boolean
bShow = False
For Each frmTemp In Forms
If frmTemp.Name = "FrmSearchClient" Then
bShow = True
Exit For
End If
Next
'bShow 按客户 05-08-02 增加排序
If bShow Then
sqlStr = "SELECT PartsName,PartsCount FROM (SELECT PartsName, SUM(Quantity) AS PartsCount" & _
" FROM [SELECT Product.ProductID, Product.ProductModel, Product.ProductSpec, Product.ClientName, Product.MakeDate, Product.ServiceDate, Product.OkDate, Product.ServiceResult, Product.DisposeMode, Product.Cause, PartsList.PartsName, PartsList.quantity" & _
" FROM Product INNER JOIN PartsList ON Product.ProductID = PartsList.ProductID" & _
" WHERE Product.ClientName='" & FrmSearchClient.Combo1 & "']. AS [HHH]" & _
" GROUP BY PARTSNAME) ORDER BY PartsCount DESC" '
TChart1.Header.Text.Clear
TChart1.Header.Text.Add "维修部件损坏率(" & FrmSearchClient.Combo1 & ")"
Else
sqlStr = "SELECT PartsName,PartsCount FROM (SELECT PartsName, SUM(quantity) AS PartsCount" & _
" FROM [SELECT Product.ProductID, Product.ProductModel," & _
"Product.ProductSpec, Product.ClientName, Product.MakeDate, Product.ServiceDate, Product.OkDate, Product.ServiceResult, Product.DisposeMode, Product.Cause, PartsList.PartsName, PartsList.quantity" & _
" FROM Product INNER JOIN PartsList ON Product.ProductID = PartsList.ProductID" & _
" WHERE format(ServiceDate,'yyyy-mm-dd') between #" & Format(FrmSearchDate.DTPicker1.Value, "yyyy-mm-dd") & "# and #" & Format(FrmSearchDate.DTPicker2.Value, "yyyy-mm-dd") & "#]. AS [HHH]" & _
" GROUP BY PARTSNAME) ORDER BY PartsCount DESC"
TChart1.Header.Text.Clear
TChart1.Header.Text.Add "维修部件损坏率(检索范围:" & Format(FrmSearchDate.DTPicker1.Value, "yyyy-mm-dd") & "至" & Format(FrmSearchDate.DTPicker2.Value, "yyyy-mm-dd") & ")"
End If
Rss.Open sqlStr, , adOpenStatic, adLockBatchOptimistic
Rss.ActiveConnection = Nothing
DataControl1.Recordset = Rss
End Sub
'
Private Sub Detail_BeforePrint()
mChart.Series(0).Add CDbl(txtUnitPrice.DataValue), txtProductName.Text, clTeeColor
'TChart1.Series(0).Add CDbl(txtUnitPrice.DataValue), txtProductName.Text, vbRed
End Sub
'
Private Sub mChart_OnAfterDraw()
Dim CurrentCountry As String
Dim outStr As String
'' ' In this example with Withevents used, you may refer to Chart as mChart or Me.TChart1
With Me.TChart1.Canvas
.Font.Bold = True
outStr = "损坏最多零件: " & Str$(Round(mChart.Series(0).XValues.Maximum))
.TextOut (TChart1.Axis.Left.Position - .TextWidth(outStr)) + 20, 17, outStr
End With
End Sub
'
'Private Sub mChart_OnClick()
' 'click not supported in report view mode
' 'by ActiveReports
' mChart.ShowEditor
'End Sub
'
Private Sub mChart_OnGetSeriesMark(ByVal SeriesIndex As Long, ByVal ValueIndex As Long, MarkText As String)
'' ' Modify each Mark here if required
'' ' here with normal Marktext disabled
'' ' ie. TChart1.Series(0).PercentFormat was "##0,## %", now: "##0,##"
If CDbl(MarkText) > 20 Then
MarkText = MarkText & " % (高损坏率!)"
Else
MarkText = MarkText & " %"
End If
'' ' MarkText = "$" & MarkText
End Sub
Private Sub PageFooter_Format()
Label20.Caption = "第 " & Me.pageNumber & "页"
End Sub
Private Sub PageHeader_Format()
' 'Set on page Chart to use Withevents
Set mChart = Me.TChart1
' add a gradient if the screen is high colour
'If mChart.Canvas.IsScreenHighColor = True Then
' mChart.Panel.Gradient.EndColor = RGB(0, 32, 192)
' mChart.Header.Font.Color = RGB(204, 204, 204)
' mChart.Panel.Gradient.Visible = True
'End If
End Sub
Private Sub ActiveReport_ToolbarClick(ByVal Tool As DDActiveReports2.DDTool)
If Tool.ID <> 999 Then Exit Sub
Unload Me
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -