📄 frmmate1.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 + -