📄 点菜收银.frm
字号:
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
_Version = 393216
End
Begin VB.Frame Frame3
Caption = "数据统计"
Height = 1215
Left = 120
TabIndex = 12
Top = 360
Width = 2295
Begin VB.Label Label3
AutoSize = -1 'True
Caption = "Label2"
BeginProperty Font
Name = "幼圆"
Size = 9.75
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H000000FF&
Height = 195
Left = 1200
TabIndex = 14
Top = 600
Width = 720
End
Begin VB.Label Label20
AutoSize = -1 'True
Caption = "客人总数:"
Height = 195
Index = 1
Left = 360
TabIndex = 13
Top = 600
Width = 765
End
End
End
Begin MSComctlLib.ImageList ImageList1
Left = 6840
Top = 240
_ExtentX = 1005
_ExtentY = 1005
BackColor = -2147483643
ImageWidth = 32
ImageHeight = 32
MaskColor = 12632256
_Version = 393216
BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628}
NumListImages = 8
BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = "点菜收银.frx":0033
Key = ""
EndProperty
BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = "点菜收银.frx":034D
Key = ""
EndProperty
BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = "点菜收银.frx":0667
Key = ""
EndProperty
BeginProperty ListImage4 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = "点菜收银.frx":0AB9
Key = ""
EndProperty
BeginProperty ListImage5 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = "点菜收银.frx":0F0B
Key = ""
EndProperty
BeginProperty ListImage6 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = "点菜收银.frx":135D
Key = ""
EndProperty
BeginProperty ListImage7 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = "点菜收银.frx":17AF
Key = ""
EndProperty
BeginProperty ListImage8 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = "点菜收银.frx":1C01
Key = ""
EndProperty
EndProperty
End
Begin MSComctlLib.Toolbar Toolbar1
Align = 1 'Align Top
Height = 795
Left = 0
TabIndex = 0
Top = 0
Width = 9225
_ExtentX = 16272
_ExtentY = 1402
ButtonWidth = 1455
ButtonHeight = 1349
Appearance = 1
Style = 1
ImageList = "ImageList1"
_Version = 393216
BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628}
NumButtons = 7
BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628}
Caption = "房台类别"
ImageIndex = 1
EndProperty
BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628}
Caption = "选台"
ImageIndex = 2
EndProperty
BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628}
Caption = "统计"
ImageIndex = 3
EndProperty
BeginProperty Button4 {66833FEA-8583-11D1-B16A-00C0F0283628}
Caption = "交班"
ImageIndex = 4
EndProperty
BeginProperty Button5 {66833FEA-8583-11D1-B16A-00C0F0283628}
Caption = "查询"
ImageIndex = 6
EndProperty
BeginProperty Button6 {66833FEA-8583-11D1-B16A-00C0F0283628}
Caption = "设置"
ImageIndex = 7
EndProperty
BeginProperty Button7 {66833FEA-8583-11D1-B16A-00C0F0283628}
Caption = "退出"
ImageIndex = 8
EndProperty
EndProperty
End
Begin VB.Label Label21
BackColor = &H8000000E&
Height = 495
Left = 0
TabIndex = 2
Top = 0
Width = 615
End
End
Attribute VB_Name = "DCSY"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'为了防止每次刷新都需要从数据库读取数据
'这里设定一个数组来保存所有房间的信息
Private Type TableInfo
TableName As String '房台名称
TableNo As String '房台号
TableSatus As Integer '房台状态
TableClassName As String '房台类型
DeptName As String '餐厅类型
End Type
'定义结构体数组保存每个房台的信息
Dim myTableInfo(100) As TableInfo
'用来统计各种房态的房台数量,如空闲数量,使用数量,禁用数量等
Dim TableCount(6) As Integer
'定义房台数量
Dim TableNum As Integer
Private Const TotalRowNum = 8 '定义MSFlexGrid1的总行数
Private Const TotalColNum = 8 '定义MSFlexGrid1的总列数
Private Sub Combo2_Click()
Dim i As Integer
MSFlexGrid1.Clear
For i = 0 To 6
TableCount(i) = 0
Next
ShowTableInfo (Combo2.Text)
GetTotalNum
End Sub
Private Sub Form_Load()
Dim GuestNum As Integer
'在窗体载入内存的时候,获得每个房台的信息
'通过MSFlexGrid1控件来设置每个房台的信息
'首先设置每个单元格的基本属性,如长、宽等
'With MSFlexGrid1点菜收银
MSFlexGrid1.ColWidth(-1) = 800
MSFlexGrid1.RowHeight(-1) = 800
SetTableInfo
ShowTableInfo (Combo2.Text)
'设置房台状态颜色
Label1(0).BackColor = vbWhite
Label1(1).BackColor = vbRed
Label1(2).BackColor = vbYellow
Label1(3).BackColor = vbBlue
Label1(4).BackColor = RGB(1, 1, 1)
Label1(4).ForeColor = vbWhite
Label1(5).BackColor = vbGreen
'设定Adodc1控件的连接属性
Adodc1.ConnectionString = dbConn.ConnectionString
'获得统计数据
GetTotalNum
End Sub
Private Sub MSFlexGrid1_Click()
On Error Resume Next
Dim tempsql As String
Text1.Text = GetTableNO(MSFlexGrid1.Text)
tempsql = "select 就餐时间,顾客数量 from 房台状态信息 where 房台编号='" & Text1.Text & "'"
dbRecord.Open tempsql, dbConn, 1, 1
Text2.Text = dbRecord(0).Value
Text3.Text = dbRecord(1).Value
dbRecord.Close
End Sub
Private Sub MSFlexGrid1_DblClick()
'MsgBox MSFlexGrid1.Text
On Error Resume Next
Dim TableNo As String
Dim TableName As String
Dim tableStatus As Integer
Dim tempsql As String
TableNo = GetTableNO(MSFlexGrid1.Text)
TableName = GetTableName(MSFlexGrid1.Text)
tempsql = "select 房台状态 from 房台状态信息 where 房台编号='" & TableNo & "'"
dbRecord.Open tempsql, dbConn, adOpenStatic, adLockReadOnly
tableStatus = dbRecord(0).Value
dbRecord.Close
If tableStatus = 1 Then
Load FTZD
FTZD.Text1.Text = TableNo
FTZD.Show 1
Exit Sub
End If
Load KTXX
KTXX.Text1.Text = TableNo
KTXX.Text2.Text = TableName
KTXX.Text3.Text = Combo2.Text
KTXX.Show 1 '现实开台信息对话框
SetTableInfo '刷新房台信息
ShowTableInfo (Combo2.Text) '显示房台信息
GetTotalNum '获得就餐总人数
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Index
Case 3
SYTJ.Show 1
Case 4
JBXX.Show 1
Case 5
ZDCX.Show 1
Case 6
SYSZ.Show 1
Case 7
Unload Me
End Select
End Sub
Private Sub SetTableInfo()
'统计房台数据
TableNum = 1
'每个房台的状态信息保存在数据库表格daybill中
dbRecord.Open "select 房台编号,房台名称,餐厅名称,房台类型名称,房台状态 from 房台状态信息 ", dbConn, 1, 1
Do While Not dbRecord.EOF
myTableInfo(TableNum).TableNo = dbRecord(0).Value
myTableInfo(TableNum).TableName = dbRecord(1).Value
myTableInfo(TableNum).DeptName = dbRecord(2).Value
myTableInfo(TableNum).TableClassName = dbRecord(3).Value
myTableInfo(TableNum).TableSatus = dbRecord(4).Value
dbRecord.MoveNext
TableNum = TableNum + 1
Loop
dbRecord.Close
End Sub
Private Sub ShowTableInfo(DeptName As String)
Dim i As Integer
Dim RowNum As Integer '保存当前MSFlexGrid1的行数
Dim ColNum As Integer '保存当前MSFlexGrid1的列数
Dim tempNum As Integer
RowNum = 0
tempNum = 0
MSFlexGrid1.Redraw = False
'循环设置每个房台的信息
For i = 0 To TableNum - 1
If myTableInfo(i + 1).DeptName = DeptName Then
ColNum = tempNum Mod TotalColNum
If (ColNum = 0) And (tempNum <> 0) Then
'ColNum = TotalColNum
RowNum = RowNum + 1
End If
MSFlexGrid1.Col = ColNum
MSFlexGrid1.Row = RowNum
MSFlexGrid1.Text = myTableInfo(i + 1).TableNo & vbCrLf
MSFlexGrid1.Text = MSFlexGrid1.Text + myTableInfo(i + 1).TableName & vbCrLf
MSFlexGrid1.Text = MSFlexGrid1.Text + myTableInfo(i + 1).TableClassName
Select Case myTableInfo(i + 1).TableSatus
Case 0
TableCount(0) = TableCount(0) + 1
Case 1
MSFlexGrid1.CellBackColor = vbRed
TableCount(1) = TableCount(1) + 1
Case 2
MSFlexGrid1.CellBackColor = vbYellow
TableCount(2) = TableCount(2) + 1
Case 3
MSFlexGrid1.CellBackColor = vbBlue
TableCount(3) = TableCount(3) + 1
Case 4
MSFlexGrid1.CellBackColor = RGB(1, 1, 1)
MSFlexGrid1.CellForeColor = vbWhite
TableCount(4) = TableCount(4) + 1
Case 5
MSFlexGrid1.CellBackColor = vbGreen
TableCount(5) = TableCount(5) + 1
End Select
tempNum = tempNum + 1
End If
Next
MSFlexGrid1.Redraw = True
SetTableNum
End Sub
Private Sub SetTableNum()
Label1(0).Caption = " 空闲 " + CStr(TableCount(0))
Label1(1).Caption = " 使用 " + CStr(TableCount(1))
Label1(2).Caption = " 结帐 " + CStr(TableCount(2))
Label1(3).Caption = " 续单 " + CStr(TableCount(3))
Label1(4).Caption = " 禁用 " + CStr(TableCount(4))
Label1(5).Caption = " 预约 " + CStr(TableCount(5))
End Sub
Private Function GetTableNO(TableInfo As String) As String
Dim TableArray() As String
TableArray = Split(TableInfo, vbCrLf)
GetTableNO = TableArray(0)
End Function
Private Function GetTableName(TableInfo As String) As String
Dim TableArray() As String
TableArray = Split(TableInfo, vbCrLf)
GetTableName = TableArray(1)
End Function
Private Sub GetTotalNum()
Adodc1.RecordSource = "select 房台类型名称,count(房台类型名称) as 数量,sum(顾客数量) as 顾客数量 from 房台状态信息 where 餐厅名称='" & _
Combo2.Text & "' group by 房台类型名称"
Adodc1.Refresh
GuestNum = 0 '初始化人数
Do While Not Adodc1.Recordset.EOF '循环获得就餐人数
GuestNum = Adodc1.Recordset(2).Value
Adodc1.Recordset.MoveNext
Loop
'获得就餐人数,并显示标签上
Label3.Caption = CStr(GuestNum)
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -