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

📄 frmmate1.frm

📁 是一个工厂管理的数据库课程设计,可以帮助初学者学习数据库的设计
💻 FRM
字号:
VERSION 5.00
Begin VB.Form frmMATE1 
   BorderStyle     =   3  'Fixed Dialog
   Caption         =   "配料单原材料信息"
   ClientHeight    =   2208
   ClientLeft      =   48
   ClientTop       =   336
   ClientWidth     =   5604
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   2208
   ScaleWidth      =   5604
   ShowInTaskbar   =   0   'False
   StartUpPosition =   1  'CenterOwner
   Begin VB.Frame Frame1 
      Caption         =   "原材料信息:"
      Height          =   1452
      Index           =   2
      Left            =   120
      TabIndex        =   4
      Top             =   120
      Width           =   5412
      Begin VB.TextBox txtItem 
         Height          =   270
         Index           =   2
         Left            =   3720
         MaxLength       =   20
         TabIndex        =   14
         Top             =   720
         Width           =   1572
      End
      Begin VB.TextBox txtItem 
         Height          =   270
         Index           =   1
         Left            =   1080
         MaxLength       =   20
         TabIndex        =   13
         Top             =   720
         Width           =   1572
      End
      Begin VB.TextBox txtItem 
         Height          =   270
         Index           =   0
         Left            =   1080
         MaxLength       =   20
         TabIndex        =   12
         Top             =   360
         Width           =   1572
      End
      Begin VB.ComboBox Combo1 
         Height          =   288
         Index           =   0
         Left            =   3720
         Style           =   2  'Dropdown List
         TabIndex        =   11
         Top             =   360
         Width           =   1572
      End
      Begin VB.TextBox txtItem 
         Enabled         =   0   'False
         Height          =   270
         Index           =   4
         Left            =   3720
         MaxLength       =   20
         TabIndex        =   1
         Top             =   1080
         Width           =   1572
      End
      Begin VB.TextBox txtItem 
         Enabled         =   0   'False
         Height          =   270
         Index           =   3
         Left            =   1080
         MaxLength       =   20
         TabIndex        =   0
         Top             =   1080
         Width           =   1572
      End
      Begin VB.Label Label2 
         Caption         =   "总 金 额:"
         Height          =   252
         Index           =   2
         Left            =   2880
         TabIndex        =   10
         Top             =   1080
         Width           =   1092
      End
      Begin VB.Label Label2 
         Caption         =   "订货单价:"
         Height          =   252
         Index           =   11
         Left            =   360
         TabIndex        =   9
         Top             =   1080
         Width           =   1092
      End
      Begin VB.Label Label2 
         Caption         =   "数       量:"
         Height          =   252
         Index           =   10
         Left            =   2880
         TabIndex        =   8
         Top             =   720
         Width           =   1092
      End
      Begin VB.Label Label2 
         Caption         =   "商品编号:"
         Height          =   252
         Index           =   9
         Left            =   360
         TabIndex        =   7
         Top             =   360
         Width           =   1092
      End
      Begin VB.Label Label2 
         Caption         =   "商品名称:"
         Height          =   252
         Index           =   8
         Left            =   2880
         TabIndex        =   6
         Top             =   360
         Width           =   1092
      End
      Begin VB.Label Label2 
         Caption         =   "计量单位:"
         Height          =   252
         Index           =   3
         Left            =   360
         TabIndex        =   5
         Top             =   720
         Width           =   1092
      End
   End
   Begin VB.CommandButton cmdExit 
      Caption         =   "返回 (&X)"
      Height          =   375
      Left            =   3000
      TabIndex        =   3
      Top             =   1680
      Width           =   1215
   End
   Begin VB.CommandButton cmdSave 
      Caption         =   "保存 (&S)"
      Height          =   375
      Left            =   1560
      TabIndex        =   2
      Top             =   1680
      Width           =   1215
   End
End
Attribute VB_Name = "frmMATE1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
'是否改动过记录,ture为改过
Dim mblChange As Boolean
Dim mrc As ADODB.Recordset
Public txtSQL As String
Public txtM_NO As String
Public txtM_DATE As String
Public txtWZDM As String
Public txtWZMC As String
Public txtJLDW As String
Public txtYWDM As String
Private Sub cmdExit_Click()
    If mblChange And cmdSave.Enabled Then
        If MsgBox("保存当前记录的变化吗?", vbOKCancel + vbExclamation, "警告") = vbOK Then
            '保存
            Call cmdSave_Click
        End If
    End If
    Unload Me
End Sub

Private Sub cmdSave_Click()
    Dim intCount As Integer
    Dim sMeg As String
    Dim MsgText As String
    
  
    For intCount = 0 To 4
        If Trim(txtItem(intCount) & " ") = "" Then
            Select Case intCount
                Case 0
                    sMeg = "产品编号"
                Case 1
                    sMeg = "计量单位"
                Case 2
                    sMeg = "产品数量"
                Case 3
                    sMeg = "进货单价"
                Case 4
                    sMeg = "总金额"
            End Select
            sMeg = sMeg & "不能为空!"
            MsgBox sMeg, vbOKOnly + vbExclamation, "警告"
            txtItem(intCount).SetFocus
            Exit Sub
        End If
    Next intCount
    
   
    '添加判断是否有相同的ID记录
    If gintPLmode = 1 Then
        txtSQL = "select * from mate where m_no ='" & Trim(txtM_NO) & "' and wzdm1 = '" & Trim(txtWZDM) & "' and wzdm2 = '" & Trim(txtItem(0)) & "'"
        Set mrc = ExecuteSQL(txtSQL, MsgText)
        If mrc.EOF = False Then
            MsgBox "已经存在相同原材料的配料记录!", vbOKOnly + vbExclamation, "警告"
            Combo1(0).SetFocus
            mrc.Close
            Exit Sub
        End If
    End If
    
    
    '先删除已有记录
    txtSQL = "delete from mate where m_no ='" & Trim(txtM_NO) & "' and wzdm1 = '" & Trim(txtWZDM) & "' and wzdm2 = '" & Trim(txtItem(0)) & "'"
    Set mrc = ExecuteSQL(txtSQL, MsgText)
   
    
    '再加入新记录
    txtSQL = "insert mate (m_no,m_date,wzdm1,wzmc1,jldw1,wzdm2,wzmc2,jldw2,sl2,in_dj,jine,ywdm) values ('"
    
    txtSQL = txtSQL & Trim(txtM_NO) & "','"
    
    txtSQL = txtSQL & Trim(txtM_DATE) & "','"
    
    txtSQL = txtSQL & Trim(txtWZDM) & "','"
    
    txtSQL = txtSQL & Trim(txtWZMC) & "','"
    
    txtSQL = txtSQL & Trim(txtJLDW) & "','"
    
    txtSQL = txtSQL & Trim(txtItem(0)) & "','"
    
    
    txtSQL = txtSQL & Trim(Combo1(0)) & "','"
    
    For intCount = 1 To 4
        txtSQL = txtSQL & Trim(txtItem(intCount)) & "','"
    Next intCount
    
    txtSQL = txtSQL & Trim(txtYWDM) & "')"
    
    
    
    Set mrc = ExecuteSQL(txtSQL, MsgText)
        
    If gintPLmode = 1 Then
        MsgBox "添加记录成功!", vbOKOnly + vbExclamation, "添加记录"
        For intCount = 0 To 4
            txtItem(intCount) = ""
        Next intCount
        
        For intCount = 0 To 0
            Combo1(intCount).ListIndex = 0
        Next intCount
        
        mblChange = False
        
        'Unload frmMATE
        'Unload frmMATELIST
        'frmMATELIST.txtSQL = "select * from mate"
        'frmMATELIST.Show 0
        Unload Me
        frmMATE.txtSQL = "select m_no,wzdm2,wzmc2,jldw2,sl2,in_dj,jine,ywdm,bz from mate where m_no ='" & txtM_NO & "'"
        frmMATE.ShowData
        
    ElseIf gintPLmode = 2 Then
        
        'Unload frmMATE
        'Unload frmMATELIST
        'frmMATELIST.txtSQL = "select * from mate"
        'frmMATELIST.Show 0
        Unload Me
        frmMATE.txtSQL = "select m_no,wzdm2,wzmc2,jldw2,sl2,in_dj,jine,ywdm,bz from mate where m_no ='" & txtM_NO & "'"
        frmMATE.ShowData
        
    End If
    
End Sub

Private Sub Combo1_Change(Index As Integer)
    mblChange = True
    
    
End Sub

Private Sub Combo1_Click(Index As Integer)
    Dim mrcc As ADODB.Recordset
    Dim mrcd As ADODB.Recordset
    Dim MsgText As String
    
    
    If Index = 0 Then
            txtItem(0) = Combo1(0).ItemData(Combo1(0).ListIndex)
            txtSQL = "select jldw  from dm_wz where dm = '" & Trim(txtItem(0)) & "'"
            Set mrcc = ExecuteSQL(txtSQL, MsgText)
                        
            If Not mrcc.EOF Then
                txtItem(1) = mrcc.Fields(0)
            End If
            
            mrcc.Close
            
            txtSQL = "select (sum(total_je)/sum(sl)) from kucun where wzdm = '" & Trim(txtItem(0)) & "'"
            Set mrcc = ExecuteSQL(txtSQL, MsgText)
            
            If Not mrcc.EOF Then
                txtItem(3) = Format(mrcc.Fields(0), "###0.00")
            End If
            
            mrcc.Close
    End If

End Sub

Private Sub Form_Load()
    Dim intCount As Integer
    Dim MsgText As String
    Dim i As Integer
    Dim mrcc As ADODB.Recordset
    
    Combo1(0).Clear
  
    If gintPLmode = 1 Then
        Me.Caption = Me.Caption & "添加"
        For i = 0 To 4
            txtItem(i).Text = ""
        Next i
        
        Combo1(0).Clear
        
    ElseIf gintPLmode = 2 Then
        Set mrc = ExecuteSQL(txtSQL, MsgText)
        
        If mrc.EOF = False Then
            With mrc
                txtItem(0) = .Fields(0)
                
                Combo1(0).AddItem .Fields(1)
                Combo1(0).ItemData(Combo1(0).NewIndex) = .Fields(0)
                Combo1(0).ListIndex = 0
            
                For intCount = 1 To 3
                    txtItem(intCount) = .Fields(intCount + 1)
                Next intCount
                
            End With
            txtItem(0).Enabled = False
        End If
        
        Me.Caption = Me.Caption & "修改"
    End If
    
    
        
    txtSQL = "select dm,mc from dm_wz"
    Set mrcc = ExecuteSQL(txtSQL, MsgText)
    
    If Not mrcc.EOF Then
        Do While Not mrcc.EOF
            Combo1(0).AddItem mrcc.Fields(1)
            Combo1(0).ItemData(Combo1(0).NewIndex) = mrcc.Fields(0)
            mrcc.MoveNext
        Loop
    End If
    
    mrcc.Close
    
    mblChange = False
End Sub

Private Sub Form_Unload(Cancel As Integer)
    gintDHmode = 0
End Sub



Private Sub txtItem_Change(Index As Integer)
    Dim intCount As Integer
    '用于计算工资
    Dim dblTotal As Double
    
  
    '有变化设置gblchange
    mblChange = True
    
    If (Index = 2) Then
        dblTotal = 0
        
        If Trim(txtItem(3)) <> "" And Trim(txtItem(2) <> "") Then
            dblTotal = CDbl(txtItem(2)) * CDbl(txtItem(3))
        End If
      
        txtItem(4) = Format(dblTotal, "#0.00")
        
    End If
            
    Exit Sub
End Sub

Private Sub txtItem_GotFocus(Index As Integer)
    txtItem(Index).SelStart = 0
    txtItem(Index).SelLength = Len(txtItem(Index))
End Sub

Private Sub txtItem_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
    EnterToTab KeyCode
End Sub

Private Sub txtItem_KeyPress(Index As Integer, KeyAscii As Integer)
    
    If Index >= 2 And Index <= 2 Then
        'MsgBox KeyCode
        '对键入字符进行控制
        'txtQuantity(Index).Locked = False
        '小数点只允许输入一次
        If KeyAscii = 190 Then
            If InStr(Trim(txtItem(Index)), ".") = 0 Then
                If Len(Trim(txtItem(Index))) > 0 Then
                    txtItem(Index).Locked = False
                Else
                    txtItem(Index).Locked = True
                End If
            Else
                txtItem(Index).Locked = True
            End If
            Exit Sub
        End If
        '非数字不能输入
        If KeyAscii > 57 Or KeyAscii < 48 Then
            txtItem(Index).Locked = True
        Else
            txtItem(Index).Locked = False
        End If
        '允许Backspace
        If KeyAscii = 8 Then
            txtItem(Index).Locked = False
        End If
        'Delete键
        If KeyAscii = 46 Then
            txtItem(Index).Locked = False
        End If
    End If
    
    
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -