📄 manfood.frm
字号:
VERSION 5.00
Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "MSFLXGRD.OCX"
Begin VB.Form manFood
Caption = "点菜管理"
ClientHeight = 4155
ClientLeft = 60
ClientTop = 345
ClientWidth = 3960
LinkTopic = "Form1"
ScaleHeight = 4155
ScaleWidth = 3960
StartUpPosition = 1 '所有者中心
Begin VB.TextBox Text3
Height = 270
Left = 720
TabIndex = 7
Top = 840
Width = 1335
End
Begin VB.CommandButton Command1
Caption = "增 加"
Height = 255
Left = 2880
TabIndex = 5
Top = 240
Width = 855
End
Begin VB.TextBox Text2
Height = 270
Left = 720
TabIndex = 4
Top = 480
Width = 1335
End
Begin VB.TextBox Text1
Height = 270
Left = 720
TabIndex = 3
Top = 120
Width = 1335
End
Begin MSFlexGridLib.MSFlexGrid FoodGrid
Height = 2775
Left = 0
TabIndex = 0
Top = 1320
Width = 3975
_ExtentX = 7011
_ExtentY = 4895
_Version = 393216
AllowUserResizing= 1
End
Begin VB.Label Label3
AutoSize = -1 'True
Caption = "单价:"
Height = 180
Left = 120
TabIndex = 6
Top = 840
Width = 540
End
Begin VB.Label Label2
AutoSize = -1 'True
Caption = "菜名:"
Height = 180
Left = 120
TabIndex = 2
Top = 480
Width = 540
End
Begin VB.Label label1
AutoSize = -1 'True
Caption = "菜号:"
Height = 180
Left = 120
TabIndex = 1
Top = 120
Width = 540
End
End
Attribute VB_Name = "manFood"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim Foods As Long '菜总数
Private Sub Command1_Click()
Dim NewFoodID As Integer
Dim NewFoodName As String
Dim NewFoodPrice As Single
On Error GoTo Err1
NewFoodID = Format(Text1.Text) '得到菜号
NewFoodName = Trim(Text2.Text) '得到菜名
NewFoodPrice = Trim(Text3.Text) '得到单价
If (NewFoodID < 1) Or (NewFoodID > 255) Then GoTo Err1 '菜号判断
If NewFoodName = "" Then GoTo Err1 '菜名判断
If NewFoodPrice < 0 Then GoTo Err1 '单价判断
'New Data
Set tblFood = Nothing
Set tblFood = DBF.OpenRecordset("SELECT * " & _
" FROM " & tblFoodStr & _
" WHERE FoodID = " & NewFoodID)
With tblFood
If Not .EOF Then GoTo Err1
.AddNew
!FoodId = NewFoodID
!FoodName = NewFoodName
!FoodPrice = NewFoodPrice
!Date = Date
.Update
End With
GoTo NoErr1
Err1:
MsgBox "错误的菜号、菜名或单价,请重新输入!"
NoErr1:
On Error GoTo 0
InitGrid
End Sub
Private Sub InitGrid()
'初始化数据表格
'打开人员表
Set tblFood = DBF.OpenRecordset("SELECT * " & _
" FROM " & tblFoodStr & _
" ORDER BY FoodID")
FoodGrid.Clear
FoodGrid.FormatString = "|^ 菜 名 |^菜 号|^ 单 价 |^ 建档日期 "
With tblFood
.MoveLast
Foods = .RecordCount
FoodGrid.Rows = Foods + 1
.MoveFirst
For i = 1 To Foods
FoodGrid.Row = i
FoodGrid.Col = 1
FoodGrid = !FoodName
FoodGrid.Col = 2
FoodGrid = !FoodId
FoodGrid.Col = 3
FoodGrid = !FoodPrice
FoodGrid.Col = 4
FoodGrid = !Date
.MoveNext
Next i
End With
End Sub
Private Sub FoodGrid_DblClick()
Dim NewFoodName As String
Dim NewFoodID As Long
Dim NewFoodPrice As Single
On Error GoTo Err1
Select Case FoodGrid.Col
Case 1
NewFoodName = InputBox("请输入新的菜名!", "修改菜名")
FoodGrid.Col = 2
NewFoodID = Format(FoodGrid)
FoodGrid.Col = 3
NewFoodPrice = Format(FoodGrid)
FoodGrid.Col = 1
Case 2
NewFoodID = InputBox("请输入新的菜号!", "修改菜号")
FoodGrid.Col = 1
NewFoodName = FoodGrid
FoodGrid.Col = 3
NewFoodPrice = Format(FoodGrid)
FoodGrid.Col = 2
Case 3
NewFoodPrice = InputBox("请输入新的单价!", "修改单价")
FoodGrid.Col = 1
NewFoodName = FoodGrid
FoodGrid.Col = 2
NewFoodID = Format(FoodGrid)
FoodGrid.Col = 3
End Select
If (NewFoodID < 1) Or (NewFoodID > 255) Then GoTo Err1 '菜号判断
If (NewFoodName = "") Then GoTo Err1 '菜名判断
If NewFoodPrice < 0 Then GoTo Err1 '单价判断
Dim tempstr As String
Set tblFood = DBF.OpenRecordset("SELECT * " & _
" FROM " & tblFoodStr & _
" WHERE FoodID = " & NewFoodID)
With tblFood
If (FoodGrid.Col = 2) And (Not .EOF) Then GoTo Err1
FoodGrid.Col = 2
tempstr = "是否将编号为:" & FoodGrid & " 的菜:"
FoodGrid.Col = 1
tempstr = tempstr & FoodGrid & "修改为:" & vbCrLf
tempstr = tempstr & NewFoodName & ";菜号:" & NewFoodID & vbCrLf
tempstr = tempstr & "单价为:" & NewFoodPrice
If MsgBox(tempstr, vbYesNo) = vbYes Then
'del Data
FoodGrid.Col = 2
DelFood FoodGrid
'New Data
.AddNew
!FoodId = NewFoodID
!FoodName = NewFoodName
!FoodPrice = NewFoodPrice
!Date = Date
.Update
End If
End With
GoTo NoErr1
Err1:
MsgBox "错误的菜号、菜名,请重新输入!"
NoErr1:
On Error GoTo 0
InitGrid
End Sub
Private Sub FoodGrid_KeyUp(KeyCode As Integer, Shift As Integer)
If (KeyCode = 46) And (Shift = 0) Then 'DEL键删除
FoodGrid.Col = 0
If MsgBox("是否删除:" & FoodGrid, vbYesNo) = vbYes Then
FoodGrid.Col = 2
DelFood Format(FoodGrid)
End If
End If
End Sub
Private Sub DelFood(ByVal DelFoodID As Long)
Set tblFood = DBF.OpenRecordset("SELECT * " & _
" FROM " & tblFoodStr & _
" WHERE FoodID = " & DelFoodID)
With tblFood
If tblFood.RecordCount >= 1 Then
tblFood.Delete
End If
InitGrid
End With
End Sub
Private Sub Form_Load()
'初始化
InitGrid
End Sub
Private Sub Form_Unload(Cancel As Integer)
frmMain.InitComFood
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -