⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sell.frm

📁 进销存管理系统是基于用户的数据库管理系统
💻 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 =   2  '屏幕中心
   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

'是否改动过记录。若改动过,则将mbChang改为True
Dim mbChange As Boolean

'mbAddMode为True,表示当前的窗体用于添加记录;
'mbAddMode为False,则表示当前的窗体用于编辑记录
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
    '读取所有的产品信息,并写入到cboItem中
    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)
    '有变化设置gblchange
    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 + -