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

📄 frminh1.frm

📁 经典delphi,Delphi下深入Windows核心编程.原书光盘代码
💻 FRM
📖 第 1 页 / 共 2 页
字号:
            sMeg = sMeg & "不能为空!"
            MsgBox sMeg, vbOKOnly + vbExclamation, "警告"
            Combo1(intCount).SetFocus
            Exit Sub
        End If
    Next intCount
    
    For intCount = 4 To 5
        If Trim(Combo1(intCount) & " ") = "" Then
            Select Case intCount
                Case 4
                    sMeg = "仓库名称"
                Case 5
                    sMeg = "支付方式"
                    
            End Select
            sMeg = sMeg & "不能为空!"
            MsgBox sMeg, vbOKOnly + vbExclamation, "警告"
            Combo1(intCount).SetFocus
            Exit Sub
        End If
    Next intCount
    
    For intCount = 4 To 7
        If Not IsNumeric(Trim(txtItem(intCount))) Then
            sMeg = "请输入数字!"
            MsgBox sMeg, vbOKOnly + vbExclamation, "警告"
            txtItem(intCount).SetFocus
            Exit Sub
        End If
    Next intCount
    
    If txtItem(8).Visible = True Then
        If Not IsNumeric(Trim(txtItem(8))) Then
            sMeg = "预付比例请输入数字!"
            MsgBox sMeg, vbOKOnly + vbExclamation, "警告"
            txtItem(8).SetFocus
            Exit Sub
        End If
   End If
   
    '添加判断是否有相同的ID记录
    If gintINHmode = 1 Then
        txtSQL = "select * from inh where inh_no ='" & Trim(txtItem(1)) & "'"
        Set mrc = ExecuteSQL(txtSQL, MsgText)
        If mrc.EOF = False Then
            MsgBox "已经存在此入库单编号的记录!", vbOKOnly + vbExclamation, "警告"
            txtItem(1).SetFocus
            Exit Sub
        End If
        mrc.Close
    End If
    
    
    '先删除已有记录
    txtSQL = "delete from inh where inh_no ='" & Trim(txtItem(1)) & "'"
    Set mrc = ExecuteSQL(txtSQL, MsgText)
   
    
    '再加入新记录
    txtSQL = "execute inh_setup '"
    
    txtSQL = txtSQL & Trim(txtItem(0)) & "','"
    
    txtSQL = txtSQL & Trim(Combo1(0).ItemData(Combo1(0).ListIndex)) & "','"
    
    For intCount = 1 To 2
        txtSQL = txtSQL & Trim(txtItem(intCount)) & "','"
    Next intCount
    
    txtSQL = txtSQL & Trim(txtItem(10)) & "','"
    
    txtSQL = txtSQL & Trim(txtItem(3)) & "','"
    
    
    For intCount = 4 To 7
        txtSQL = txtSQL & Trim(txtItem(intCount)) & "','"
    Next intCount
    
    If Combo1(5).ListIndex = 0 Then
        txtSQL = txtSQL & "Y','N','0','"
    ElseIf Combo1(5).ListIndex = 1 Then
        txtSQL = txtSQL & "N','Y','0','"
    ElseIf Combo1(5).ListIndex = 2 Then
        txtSQL = txtSQL & "N','N','" & Trim(txtItem(8)) & "','"
    End If
    
    txtSQL = txtSQL & Trim(txtItem(9)) & "'"
    Set mrc = ExecuteSQL(txtSQL, MsgText)
        
    If gintINHmode = 1 Then
        MsgBox "添加记录成功!", vbOKOnly + vbExclamation, "添加记录"
        
        txtSQL = "select * from kucun where ckdm = '" & txtItem(10) & "'"
        txtSQL = txtSQL & " and wzdm = '" & txtItem(3) & "'"

        
        Set mrc = ExecuteSQL(txtSQL, MsgText)
        
        If Not mrc.EOF Then
            mrc.Fields(0) = txtItem(0)
            mrc.Fields(4) = mrc.Fields(4) + txtItem(4)
            mrc.Fields(5) = mrc.Fields(5) + txtItem(7)
            mrc.Update
            
        Else
            txtSQL = "execute kucun_setup '"
            txtSQL = txtSQL & txtItem(0) & "','"
            txtSQL = txtSQL & GetRkno() & "','"
            txtSQL = txtSQL & txtItem(10) & "','"
            txtSQL = txtSQL & txtItem(3) & "','"
            txtSQL = txtSQL & txtItem(4) & "','"
            txtSQL = txtSQL & txtItem(7) & "'"
            
            Set mrce = ExecuteSQL(txtSQL, MsgText)
            
        End If
        
        mrc.Close
        
        For intCount = 0 To 9
            txtItem(intCount) = ""
        Next intCount
        
        For intCount = 0 To 2
            Combo1(intCount).ListIndex = 0
        Next intCount
        
        For intCount = 4 To 5
            Combo1(intCount).ListIndex = 0
        Next intCount
        

        
        txtItem(0) = Format(Now, "yyyy-mm-dd")
        
        mblChange = False
        
        Unload frmINH
        frmINH.txtSQL = "select inh_no,in_date,ywman,gfdm,ckdm,wzdm,sl,in_danj,i_zk,i_zke,jsfk,jz,yf,bz from inh"
        frmINH.Show
        
    ElseIf gintINHmode = 2 Then
        
        txtSQL = "select * from kucun where ckdm = '" & txtCKDM & "'"
        txtSQL = txtSQL & " and wzdm = '" & txtWZDM & "'"

        
        Set mrc = ExecuteSQL(txtSQL, MsgText)
        
        If Not mrc.EOF Then
            mrc.Fields(0) = txtItem(0)
            mrc.Fields(4) = mrc.Fields(4) - txtSL
            mrc.Fields(5) = mrc.Fields(5) - txtZKE
            mrc.Update
        End If
        
        mrc.Close
        
        txtSQL = "select * from kucun where ckdm = '" & txtItem(10) & "'"
        txtSQL = txtSQL & " and wzdm = '" & txtItem(3) & "'"

        
        Set mrc = ExecuteSQL(txtSQL, MsgText)
        
        If Not mrc.EOF Then
            mrc.Fields(0) = txtItem(0)
            mrc.Fields(4) = mrc.Fields(4) + txtItem(4)
            mrc.Fields(5) = mrc.Fields(5) + txtItem(7)
            mrc.Update
            
        Else
            txtSQL = "execute kucun_setup '"
            txtSQL = txtSQL & txtItem(0) & "','"
            txtSQL = txtSQL & GetRkno() & "','"
            txtSQL = txtSQL & txtItem(10) & "','"
            txtSQL = txtSQL & txtItem(3) & "','"
            txtSQL = txtSQL & txtItem(4) & "','"
            txtSQL = txtSQL & txtItem(7) & "'"
            
            Set mrce = ExecuteSQL(txtSQL, MsgText)
            
        End If
        
        mrc.Close
        
        Unload Me
        Unload frmINH

        
        
        frmINH.txtSQL = "select inh_no,in_date,ywman,gfdm,ckdm,wzdm,sl,in_danj,i_zk,i_zke,jsfk,jz,yf,bz from inh"
        frmINH.Show
    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 = 1 Then
        
            txtSQL = "select Mc  from dm_gf where mc = '" & Trim(Combo1(1)) & "'"
            Set mrcc = ExecuteSQL(txtSQL, MsgText)
                        
            If Not mrcc.EOF Then
                txtItem(2) = mrcc.Fields(0)
            End If
            
            mrcc.Close

    ElseIf Index = 2 Then
            txtSQL = "select dm  from dm_wz where mc = '" & Trim(Combo1(2)) & "'"
            Set mrcc = ExecuteSQL(txtSQL, MsgText)
                        
            If Not mrcc.EOF Then
                txtItem(3) = mrcc.Fields(0)
            End If
            
            mrcc.Close
    ElseIf Index = 4 Then
            txtSQL = "select dm  from dm_ck where mc = '" & Trim(Combo1(4)) & "'"
            Set mrcc = ExecuteSQL(txtSQL, MsgText)
                        
            If Not mrcc.EOF Then
                txtItem(10) = mrcc.Fields(0)
            End If
            
            mrcc.Close
            
    ElseIf Index = 5 Then
        If Combo1(5).ListIndex = 0 Or Combo1(5).ListIndex = 1 Then
            txtItem(8).Visible = False
            Label2(13).Visible = False
        Else
            txtItem(8).Visible = True
            Label2(13).Visible = True

        End If
    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
  
    If gintINHmode = 1 Then
        Me.Caption = Me.Caption & "添加"
        For i = 0 To 10
            txtItem(i).Text = ""
        Next i
        
        For i = 0 To 2
            Combo1(i).Clear
        Next i
        
        For i = 4 To 5
            Combo1(i).Clear
        Next i
        
        
        
    ElseIf gintINHmode = 2 Then
        Set mrc = ExecuteSQL(txtSQL, MsgText)
        
        If mrc.EOF = False Then
            With mrc
                txtItem(0) = .Fields(0)
            
                For intCount = 1 To 2
                    txtItem(intCount) = .Fields(intCount + 1)
                Next intCount
                
                txtItem(3) = .Fields(intCount + 2)
                
                For intCount = 4 To 7
                    txtItem(intCount) = .Fields(intCount + 2)
                Next intCount
                
                txtItem(9) = .Fields(13)
                
                txtCKDM = .Fields(4)
                txtWZDM = .Fields(5)
                txtSL = .Fields(6)
                txtZKE = .Fields(9)
                
                
               
            End With
            txtItem(0).Enabled = False
        End If
        
        Me.Caption = Me.Caption & "修改"
    End If
    
    For i = 0 To 2
         Combo1(i).Clear
    Next i
    
    For i = 4 To 5
        Combo1(i).Clear
    Next i
    
    
    txtSQL = "select dm,mc from dm_ywy"
    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
    
    txtItem(0) = Format(Now, "yyyy-mm-dd")
    txtItem(0).Enabled = False
    
    txtSQL = "select mc from dm_gf"
    Set mrcc = ExecuteSQL(txtSQL, MsgText)
    
    If Not mrcc.EOF Then
        Do While Not mrcc.EOF
            Combo1(1).AddItem mrcc.Fields(0)
            mrcc.MoveNext
        Loop
    End If
    
    mrcc.Close
    
    txtSQL = "select mc from dm_wz"
    Set mrcc = ExecuteSQL(txtSQL, MsgText)
    
    If Not mrcc.EOF Then
        Do While Not mrcc.EOF
            Combo1(2).AddItem mrcc.Fields(0)
            mrcc.MoveNext
        Loop
    End If
    
    mrcc.Close
    
   
    txtSQL = "select mc from dm_ck"
    Set mrcc = ExecuteSQL(txtSQL, MsgText)
    
    If Not mrcc.EOF Then
        Do While Not mrcc.EOF
            Combo1(4).AddItem mrcc.Fields(0)
            mrcc.MoveNext
        Loop
    End If
    
    mrcc.Close
    
    Combo1(5).AddItem "即使付清"
    Combo1(5).AddItem "记    账"
    Combo1(5).AddItem "预    付"
    
    txtItem(8).Visible = False
    Label2(13).Visible = False


    
    
    
    
    
    mblChange = False
End Sub

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



Private Sub txtItem_Change(Index As Integer)
    Dim intCount As Integer
    '用于计算工资
    Dim dblTotal As Double
    
  
    '有变化设置gblchange
    mblChange = True
    
    If (Index >= 4 And Index <= 6) Then
        dblTotal = 0
        
        If Trim(txtItem(4)) <> "" And Trim(txtItem(5)) <> "" And Trim(txtItem(6)) <> "" Then
            dblTotal = CDbl(txtItem(4)) * CDbl(txtItem(5)) * CDbl(txtItem(6)) / 100
        End If
      
        txtItem(7) = 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 >= 4 And Index <= 6 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 + -