📄 sell.frm
字号:
VERSION 5.00
Begin VB.Form frmSell
BorderStyle = 3 'Fixed Dialog
Caption = "销售信息"
ClientHeight = 5085
ClientLeft = 30
ClientTop = 330
ClientWidth = 4590
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 5085
ScaleWidth = 4590
ShowInTaskbar = 0 'False
StartUpPosition = 1 '所有者中心
Begin VB.Frame fraMemo
Caption = "备注信息"
Height = 1575
Left = 120
TabIndex = 11
Top = 2760
Width = 4335
Begin VB.TextBox txtItem
Height = 1080
Index = 6
Left = 120
MultiLine = -1 'True
ScrollBars = 2 'Vertical
TabIndex = 12
Top = 360
Width = 3975
End
End
Begin VB.Frame fraInfo
Caption = "销售信息"
Height = 2535
Index = 54
Left = 120
TabIndex = 4
Top = 120
Width = 4335
Begin VB.TextBox txtItem
Height = 270
Index = 5
Left = 1440
MaxLength = 20
TabIndex = 13
Top = 2040
Width = 2535
End
Begin VB.TextBox txtItem
Height = 270
Index = 2
Left = 1440
MaxLength = 20
TabIndex = 10
Top = 802
Width = 2535
End
Begin VB.ComboBox cboItem
Height = 300
Left = 1440
Style = 2 'Dropdown List
TabIndex = 7
Top = 360
Width = 2535
End
Begin VB.TextBox txtItem
Height = 270
Index = 4
Left = 1440
MaxLength = 20
TabIndex = 1
Top = 1626
Width = 2535
End
Begin VB.TextBox txtItem
Height = 270
Index = 3
Left = 1440
MaxLength = 20
TabIndex = 0
Top = 1214
Width = 2535
End
Begin VB.Label lblFields
AutoSize = -1 'True
Caption = "销售日期:"
Height = 180
Index = 4
Left = 240
TabIndex = 14
Top = 2085
Width = 900
End
Begin VB.Label lblFields
AutoSize = -1 'True
Caption = "顾客姓名:"
Height = 180
Index = 1
Left = 240
TabIndex = 9
Top = 840
Width = 900
End
Begin VB.Label lblFields
AutoSize = -1 'True
Caption = "商品名称:"
Height = 180
Index = 0
Left = 240
TabIndex = 8
Top = 420
Width = 900
End
Begin VB.Label lblFields
AutoSize = -1 'True
Caption = "购买数量:"
Height = 180
Index = 2
Left = 240
TabIndex = 6
Top = 1245
Width = 900
End
Begin VB.Label lblFields
AutoSize = -1 'True
Caption = "售出价格:"
Height = 180
Index = 3
Left = 240
TabIndex = 5
Top = 1665
Width = 900
End
End
Begin VB.CommandButton cmdExit
Caption = "返回(&R)"
Height = 375
Left = 2400
TabIndex = 3
Top = 4560
Width = 1335
End
Begin VB.CommandButton cmdSave
Caption = "保存(&S)"
Height = 375
Left = 720
TabIndex = 2
Top = 4560
Width = 1215
End
End
Attribute VB_Name = "frmSell"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim mbChange As Boolean
Public mbAddMode As Boolean
Public mnSerial As Long
Dim mnQuantity As Integer
Private Sub cboItem_Change()
mbChange = True
End Sub
Private Sub cmdExit_Click()
If mbChange Then
If MsgBox("保存当前记录的变化吗?", vbOKCancel + vbExclamation, "警告") = vbOK Then
Call cmdSave_Click
End If
End If
Unload Me
Unload frmSellList
Load frmSellList
frmSellList.SQL = "select * from sell"
frmSellList.Show
End Sub
Private Sub cmdSave_Click()
On Error GoTo errHandler
If txtItem(3).Text = "" Then
MsgBox "字段不能为空,而且只能输入数字", vbCritical, "错误"
End If
If txtItem(4).Text = "" Then
MsgBox "字段不能为空,而且只能输入数字", vbCritical, "错误"
End If
If Trim(cboItem) = "" Then
MsgBox "必须选择商品名称", vbCritical, "错误"
cboItem.SetFocus
Exit Sub
End If
If Not IsDate(Trim(txtItem(5))) Then
MsgBox "请输入正确的日期格式!", vbOKOnly + vbExclamation, "警告"
txtItem(5).SetFocus
Exit Sub
End If
If Not mbAddMode Then
gConn.Execute "delete from sell where 顺序号 ='" & mnSerial & "'"
End If
Dim rs As New ADODB.Recordset
rs.Open "select * from sell", gConn, adOpenDynamic, adLockOptimistic
rs.AddNew
rs("商品名称") = cboItem.Text
Dim i As Integer
For i = txtItem.LBound To txtItem.UBound
rs.Fields(i).Value = txtItem(i)
Next i
rs.Update
rs.Close
mnQuantity = CInt(txtItem(3)) - mnQuantity
gConn.Execute "update products set 库存数量=库存数量-" & mnQuantity & " where 商品名称='" & cboItem.Text & "'"
If mbAddMode Then
mbChange = False
MsgBox "添加进货信息成功!继续添加下一条进货信息", vbOKOnly + vbExclamation, "添加进货信息"
Unload Me
Me.Show vbModal
Else
Unload Me
frmSellList.SQL = "select * from sell"
frmSellList.Show
End If
Exit Sub
errHandler:
MsgBox Err.Description, vbCritical, "错误"
End Sub
Private Sub Form_Load()
On Error GoTo errHandler
Dim rs As New ADODB.Recordset
rs.Open "select distinct 商品名称 from products", gConn, adOpenKeyset
If Not rs.EOF Then
cboItem.Clear
Do While Not rs.EOF
cboItem.AddItem rs("商品名称")
rs.MoveNext
Loop
Else
MsgBox "当前数据库不包含任何的商品信息。请先设置商品信息!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
rs.Close
If mbAddMode Then
Me.Caption = Me.Caption & "添加"
txtItem(5) = Format(Date, "yyyy-mm-dd")
txtItem(3) = 0
txtItem(4) = 10
mnQuantity = 0
Else
Me.Caption = Me.Caption & "修改"
rs.Open "select * from sell where 顺序号=" & mnSerial
If Not rs.EOF Then
cboItem.Text = rs("商品名称")
Dim i As Integer
For i = txtItem.LBound To txtItem.UBound
txtItem(i) = rs.Fields(i).Value
Next i
End If
mnQuantity = rs("购买数量")
rs.Close
End If
mbChange = False
Exit Sub
errHandler:
MsgBox Err.Description, vbCritical, "错误"
End Sub
Private Sub txtItem_Change(Index As Integer)
mbChange = True
End Sub
Private Sub txtItem_GotFocus(Index As Integer)
txtItem(Index).SelStart = 0
txtItem(Index).SelLength = Len(txtItem(Index))
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -