📄 frmorder.vb
字号:
Imports System.Data
Imports System.Data.SqlClient
Public Class frmOrder
Inherits System.Windows.Forms.Form
#Region " Windows 窗体设计器生成的代码 "
Public Sub New()
MyBase.New()
'该调用是 Windows 窗体设计器所必需的。
InitializeComponent()
'在 InitializeComponent() 调用之后添加任何初始化
End Sub
'窗体重写 dispose 以清理组件列表。
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'Windows 窗体设计器所必需的
Private components As System.ComponentModel.IContainer
'注意: 以下过程是 Windows 窗体设计器所必需的
'可以使用 Windows 窗体设计器修改此过程。
'不要使用代码编辑器修改它。
Friend WithEvents lblCaption As System.Windows.Forms.Label
Friend WithEvents lsvOrder As System.Windows.Forms.ListView
Friend WithEvents bunClose As System.Windows.Forms.Button
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.lblCaption = New System.Windows.Forms.Label
Me.lsvOrder = New System.Windows.Forms.ListView
Me.bunClose = New System.Windows.Forms.Button
Me.SuspendLayout()
'
'lblCaption
'
Me.lblCaption.Location = New System.Drawing.Point(16, 8)
Me.lblCaption.Name = "lblCaption"
Me.lblCaption.Size = New System.Drawing.Size(536, 16)
Me.lblCaption.TabIndex = 0
Me.lblCaption.Text = "标题"
'
'lsvOrder
'
Me.lsvOrder.Location = New System.Drawing.Point(8, 32)
Me.lsvOrder.Name = "lsvOrder"
Me.lsvOrder.Size = New System.Drawing.Size(544, 336)
Me.lsvOrder.TabIndex = 1
'
'bunClose
'
Me.bunClose.Location = New System.Drawing.Point(464, 392)
Me.bunClose.Name = "bunClose"
Me.bunClose.Size = New System.Drawing.Size(80, 24)
Me.bunClose.TabIndex = 2
Me.bunClose.Text = "关闭"
'
'frmOrder
'
Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
Me.ClientSize = New System.Drawing.Size(560, 422)
Me.Controls.Add(Me.bunClose)
Me.Controls.Add(Me.lsvOrder)
Me.Controls.Add(Me.lblCaption)
Me.MaximizeBox = False
Me.MinimizeBox = False
Me.Name = "frmOrder"
Me.Text = "统计"
Me.ResumeLayout(False)
End Sub
#End Region
Private myDataAdapterAllInput As New SqlClient.SqlDataAdapter
Private myDataSetAllInput As DataSet = New DataSet("AllInput")
Private myDataAdapterAllCustomer As New SqlClient.SqlDataAdapter
Private myDataSetAllCustomer As DataSet = New DataSet("AllCustomer")
Private myDataAdapterAllRetreat As New SqlClient.SqlDataAdapter
Private myDataSetAllRetreat As DataSet = New DataSet("AllRetreat")
Private myDataAdapterAllOutput As New SqlClient.SqlDataAdapter
Private myDataSetAllOutput As DataSet = New DataSet("AllOutput")
Private myDataAdapterBusinessman As New SqlClient.SqlDataAdapter
Private myDataSetBusinessman As DataSet = New DataSet("Businessman")
Private Sub ShowList()
Dim i As Integer
On Error GoTo ErrorHandle
lsvOrder.Items.Clear()
lsvOrder.Columns.Clear()
Select Case WhatToOrder
Case "ITC"
frmMain1.mnuStatistics.MenuItems(0).Enabled = False
lblCaption.Text = "进货交易金额"
lsvOrder.Columns.Add("序号", 60, HorizontalAlignment.Center)
lsvOrder.Columns.Add("厂商", 100, HorizontalAlignment.Center)
lsvOrder.Columns.Add("进货总额(元)", 150, HorizontalAlignment.Center)
i = 1
Dim myRow As DataRow
Dim currRows() As DataRow = myDataSetAllInput.Tables(0).Select(Nothing, Nothing, DataViewRowState.CurrentRows)
For Each myRow In currRows
lsvOrder.Items.Add(CStr(i))
lsvOrder.Items(i - 1).SubItems.Add(myRow("f_name"))
lsvOrder.Items(i - 1).SubItems.Add(myRow("i_sum"))
i = i + 1
Next
Case "CBC"
frmMain1.mnuStatistics.MenuItems(1).Enabled = False
lblCaption.Text = "客户购买金额"
lsvOrder.Columns.Add("序号", 60, HorizontalAlignment.Center)
lsvOrder.Columns.Add("客户", 100, HorizontalAlignment.Center)
lsvOrder.Columns.Add("进货总额(元)", 150, HorizontalAlignment.Center)
i = 1
Dim myRow As DataRow
Dim currRows() As DataRow = myDataSetAllCustomer.Tables(0).Select(Nothing, Nothing, DataViewRowState.CurrentRows)
For Each myRow In currRows
lsvOrder.Items.Add(CStr(i))
lsvOrder.Items(i - 1).SubItems.Add(myRow("c_name"))
lsvOrder.Items(i - 1).SubItems.Add(myRow("o_sum"))
i = i + 1
Next
Case "PRC"
frmMain1.mnuStatistics.MenuItems(3).Enabled = False
lblCaption.Text = "商品退货数量"
lsvOrder.Columns.Add("序号", 60, HorizontalAlignment.Center)
lsvOrder.Columns.Add("商品", 100, HorizontalAlignment.Center)
lsvOrder.Columns.Add("型号", 100, HorizontalAlignment.Center)
lsvOrder.Columns.Add("退货数量", 150, HorizontalAlignment.Center)
i = 1
Dim myRow As DataRow
Dim currRows() As DataRow = myDataSetAllRetreat.Tables(0).Select(Nothing, Nothing, DataViewRowState.CurrentRows)
For Each myRow In currRows
lsvOrder.Items.Add(CStr(i))
lsvOrder.Items(i - 1).SubItems.Add(myRow("p_name"))
lsvOrder.Items(i - 1).SubItems.Add(myRow("p_model"))
lsvOrder.Items(i - 1).SubItems.Add(myRow("r_total"))
i = i + 1
Next
Case "POC"
frmMain1.mnuStatistics.MenuItems(2).Enabled = False
lblCaption.Text = "商品销售数量"
lsvOrder.Columns.Add("序号", 60, HorizontalAlignment.Center)
lsvOrder.Columns.Add("商品", 100, HorizontalAlignment.Center)
lsvOrder.Columns.Add("型号", 100, HorizontalAlignment.Center)
lsvOrder.Columns.Add("销售数量", 150, HorizontalAlignment.Center)
i = 1
Dim myRow As DataRow
Dim currRows() As DataRow = myDataSetAllOutput.Tables(0).Select(Nothing, Nothing, DataViewRowState.CurrentRows)
For Each myRow In currRows
lsvOrder.Items.Add(CStr(i))
lsvOrder.Items(i - 1).SubItems.Add(myRow("p_name"))
lsvOrder.Items(i - 1).SubItems.Add(myRow("p_model"))
lsvOrder.Items(i - 1).SubItems.Add(myRow("o_total"))
i = i + 1
Next
Case "BT"
frmMain1.mnuStatistics.MenuItems(5).Enabled = False
lblCaption.Text = "业务员销售业绩"
lsvOrder.Columns.Add("序号", 60, HorizontalAlignment.Center)
lsvOrder.Columns.Add("业务员", 100, HorizontalAlignment.Center)
lsvOrder.Columns.Add("销售业绩(元)", 150, HorizontalAlignment.Center)
i = 1
Dim myRow As DataRow
Dim currRows() As DataRow = myDataSetBusinessman.Tables(0).Select(Nothing, Nothing, DataViewRowState.CurrentRows)
For Each myRow In currRows
lsvOrder.Items.Add(CStr(i))
lsvOrder.Items(i - 1).SubItems.Add(myRow("b_name"))
lsvOrder.Items(i - 1).SubItems.Add(myRow("b_trades"))
i = i + 1
Next
Case "BS"
frmMain1.mnuStatistics.MenuItems(6).Enabled = False
lblCaption.Text = "业务员月薪"
lsvOrder.Columns.Add("序号", 60, HorizontalAlignment.Center)
lsvOrder.Columns.Add("业务员", 100, HorizontalAlignment.Center)
lsvOrder.Columns.Add("月薪(元)", 150, HorizontalAlignment.Center)
i = 1
Dim myRow As DataRow
Dim currRows() As DataRow = myDataSetBusinessman.Tables(0).Select(Nothing, Nothing, DataViewRowState.CurrentRows)
For Each myRow In currRows
lsvOrder.Items.Add(CStr(i))
lsvOrder.Items(i - 1).SubItems.Add(myRow("b_name"))
lsvOrder.Items(i - 1).SubItems.Add(Format(myRow("b_salary"), "#######.##"))
i = i + 1
Next
End Select
Exit Sub
ErrorHandle:
ShowErr()
End Sub
Private Sub frmOrder_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim strSelectAllInput As String = "select factory.f_name, sum(input.i_inprice * input.i_count) as i_sum from input inner join product on input.p_id=product.p_id inner join factory on product.f_id=factory.f_id group by factory.f_name order by i_sum desc"
Dim cmdSelectAllInput As New SqlClient.SqlCommand(strSelectAllInput, db)
myDataAdapterAllInput.SelectCommand = cmdSelectAllInput
Dim strSelectAllCustomer As String = "select customer.c_name, sum((output.o_count - output.r_count) * output.o_price) as o_sum from customer inner join output on customer.c_id=output.c_id group by customer.c_name order by o_sum desc"
Dim cmdSelectAllCustomer As New SqlClient.SqlCommand(strSelectAllCustomer, db)
myDataAdapterAllCustomer.SelectCommand = cmdSelectAllCustomer
Dim strSelectAllRetreat As String = "select product.p_name, product.p_model, sum(retreat.r_count) as r_total from customer inner join product inner join output inner join retreat on output.o_id=retreat.o_id on product.p_id=output.p_id on customer.c_id=output.c_id group by product.p_name, product.p_model order by r_total desc"
Dim cmdSelectAllRetreat As New SqlClient.SqlCommand(strSelectAllRetreat, db)
myDataAdapterAllRetreat.SelectCommand = cmdSelectAllRetreat
Dim strSelectAllOutput As String = "select product.p_name, product.p_model, sum(output.o_count - output.r_count) as o_total from product inner join output on product.p_id=output.p_id group by product.p_name, product.p_model order by o_total desc"
Dim cmdSelectAllOutput As New SqlClient.SqlCommand(strSelectAllOutput, db)
myDataAdapterAllOutput.SelectCommand = cmdSelectAllOutput
Dim strSelectBusinessman As String = "select b_name, b_trades, b_limitsalary + b_trades * 0.02 as b_salary from businessman order by b_salary desc"
Dim cmdselectBusinessman As New SqlClient.SqlCommand(strSelectBusinessman, db)
myDataAdapterBusinessman.SelectCommand = cmdselectBusinessman
db.Open()
myDataAdapterAllInput.Fill(myDataSetAllInput)
myDataAdapterAllCustomer.Fill(myDataSetAllCustomer)
myDataAdapterAllRetreat.Fill(myDataSetAllRetreat)
myDataAdapterAllOutput.Fill(myDataSetAllOutput)
myDataAdapterBusinessman.Fill(myDataSetBusinessman)
db.Close()
ShowStatus("统计", "")
lsvOrder.View = View.Details
ShowList()
End Sub
Private Sub frmOrder_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
ShowStatus("", "")
End Sub
Private Sub bunClose_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles bunClose.Click
Select Case WhatToOrder
Case "ITC"
frmMain1.mnuStatistics.MenuItems(0).Enabled = True
Case "CBC"
frmMain1.mnuStatistics.MenuItems(1).Enabled = True
Case "POC"
frmMain1.mnuStatistics.MenuItems(2).Enabled = True
Case "PRC"
frmMain1.mnuStatistics.MenuItems(3).Enabled = True
Case "BT"
frmMain1.mnuStatistics.MenuItems(5).Enabled = True
Case "BS"
frmMain1.mnuStatistics.MenuItems(6).Enabled = True
End Select
ShowStatus("", "")
Me.Close()
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -