📄 frmorderby.frm
字号:
VERSION 5.00
Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "msflxgrd.ocx"
Object = "{86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}#2.0#0"; "mscomct2.ocx"
Begin VB.Form frmOrderBy
BorderStyle = 1 'Fixed Single
Caption = "销售排行榜"
ClientHeight = 6555
ClientLeft = 45
ClientTop = 435
ClientWidth = 8820
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Icon = "frmOrderBy.frx":0000
LinkTopic = "Form1"
LockControls = -1 'True
MDIChild = -1 'True
ScaleHeight = 6555
ScaleWidth = 8820
Begin VB.CheckBox chk
Caption = "反相排列"
Height = 210
Left = 5130
TabIndex = 13
Top = 810
Width = 1155
End
Begin Manage.xpcmdbutton cmdExec
Height = 525
Left = 6990
TabIndex = 12
Top = 540
Width = 1185
_ExtentX = 2090
_ExtentY = 926
Caption = "查 询"
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
End
Begin VB.TextBox txtNum
Height = 315
Left = 3540
TabIndex = 10
Top = 750
Width = 1005
End
Begin VB.ComboBox cobTypes
Height = 330
Left = 540
Style = 2 'Dropdown List
TabIndex = 7
Top = 750
Width = 1515
End
Begin MSComCtl2.DTPicker dtp2
Height = 315
Left = 3210
TabIndex = 2
Top = 330
Width = 2235
_ExtentX = 3942
_ExtentY = 556
_Version = 393216
Format = 19988481
CurrentDate = 37700
End
Begin MSComCtl2.DTPicker dtp1
Height = 315
Left = 510
TabIndex = 1
Top = 330
Width = 2235
_ExtentX = 3942
_ExtentY = 556
_Version = 393216
Format = 19988481
CurrentDate = 37700
End
Begin MSFlexGridLib.MSFlexGrid Grid
Height = 5145
Left = 90
TabIndex = 0
Top = 1350
Width = 8655
_ExtentX = 15266
_ExtentY = 9075
_Version = 393216
Cols = 8
FixedCols = 0
FormatString = "商品编码|^ 商 品 名 称|^ 平均成本|^ 平均售价|^ 销售数量|^ 销售额|^ 销售成本|^ 毛 利"
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
End
Begin VB.Line Line2
BorderColor = &H00FFFFFF&
Index = 1
X1 = 8700
X2 = 8700
Y1 = 90
Y2 = 1230
End
Begin VB.Line Line2
BorderColor = &H00C0C0C0&
Index = 0
X1 = 90
X2 = 90
Y1 = 90
Y2 = 1230
End
Begin VB.Line Line1
BorderColor = &H00FFFFFF&
Index = 1
X1 = 90
X2 = 8700
Y1 = 1230
Y2 = 1230
End
Begin VB.Line Line1
BorderColor = &H00C0C0C0&
Index = 0
X1 = 120
X2 = 8700
Y1 = 90
Y2 = 90
End
Begin VB.Label Label7
Caption = "条"
Height = 210
Left = 4680
TabIndex = 11
Top = 810
Width = 210
End
Begin VB.Label Label6
Caption = "最大至"
Height = 210
Left = 2850
TabIndex = 9
Top = 810
Width = 630
End
Begin VB.Label Label5
Caption = "查询"
Height = 210
Left = 2190
TabIndex = 8
Top = 810
Width = 420
End
Begin VB.Label Label4
Caption = "按"
Height = 210
Left = 240
TabIndex = 6
Top = 810
Width = 210
End
Begin VB.Label Label3
Caption = "期间"
Height = 210
Left = 5580
TabIndex = 5
Top = 390
Width = 420
End
Begin VB.Label Label2
Caption = "至"
Height = 255
Left = 2850
TabIndex = 4
Top = 390
Width = 225
End
Begin VB.Label Label1
Caption = "由"
Height = 255
Left = 240
TabIndex = 3
Top = 390
Width = 285
End
End
Attribute VB_Name = "frmOrderBy"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Sub cmdExec_Click()
Dim SQL As String
If cobTypes.ListIndex = -1 Then cobTypes.ListIndex = 0
If txtNum.Text = "" Then txtNum.Text = "10"
SQL = "SELECT top " & txtNum.Text & " a.id, a.name, " & _
"SUM(b.cost * b.num) / SUM(b.num) AS cost, SUM(b.price * b.num) " & _
"/ SUM(b.num) AS price, SUM(b.num) AS nums, SUM(b.price * b.num) AS allprice," & _
" SUM(b.cost * b.num) AS allcost, SUM((b.price - b.cost) * b.num) AS gain " & _
" FROM yaopin_list a INNER JOIN" & _
" sell_list b ON a.id = b.yaopin_id INNER JOIN" & _
" sell_index c ON (c.[date] between '" & Format(dtp1.Value, "yyyy-mm-dd") & _
"' AND '" & Format(dtp2.Value, "yyyy-mm-dd") & "') AND b.id = c.id " & _
" GROUP BY a.id, a.name "
Select Case cobTypes.ListIndex
Case 0
SQL = SQL + " order by nums"
Case 1
SQL = SQL + " order by allprice"
Case 2
SQL = SQL + " order by allcost"
Case 3
SQL = SQL + " order by gain"
End Select
If chk.Value = 0 Then SQL = SQL & " DESC"
FillGrid "商品编码|^ 商 品 名 称|^ 平均成本|^ 平均售价|^ 销售数量|^ 销售额|^ 销售成本|^ 毛 利", SQL, Grid, 8
End Sub
Private Sub Form_Load()
Grid.Clear
cobTypes.AddItem "销售数量"
cobTypes.AddItem "销售总额"
cobTypes.AddItem "总成本"
cobTypes.AddItem "利 润"
txtNum.Text = "10"
dtp1.Value = Date$
dtp2.Value = Date$
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set frmOrderBy = Nothing
End Sub
Private Sub txtNum_KeyPress(KeyAscii As Integer)
If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 46 And KeyAscii <> 8 Then KeyAscii = 0
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -