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

📄 选项.frm

📁 用友U8财务软件VB源程序, 本版本为2002年版本
💻 FRM
📖 第 1 页 / 共 3 页
字号:
                    ReturnOrder = ReturnOrder & "0"
                ElseIf opt3(1).Value = True Then
                    ReturnOrder = ReturnOrder & "1"
                Else
                    ReturnOrder = ReturnOrder & "2"
                End If
                .Fields("ReturnOrder_lev") = ReturnOrder
            End If
            .Fields("limitloan_flag") = Me.chkLimitLoan.Value
            .Update
        End With
    End If
    
    Set rec = Nothing
    Set con = Nothing
    If Not objVchDefBI.SaveVchEOs(g_sDataSourceName, objEOS) Then MsgBox "单据自动报警天数没有成功设置!", vbInformation, App.ProductName
    m_Apply = True
End Sub

Private Sub CmdCancel_Click()
    Set objEOS = Nothing
    Set objVchDefBI = Nothing
    Unload Me
End Sub

Private Sub cmdOK_Click()
    Dim i As Integer
    Dim total As Integer
    Dim NodeTemp As MSComctlLib.Node
    total = 0
    Set NodeTemp = Me.treStyle.SelectedItem.root
    For i = 1 To Me.treStyle.Nodes.count
        If Me.treStyle.Nodes(NodeTemp.key).Checked = True Then
            total = total + 1
        End If
        Set NodeTemp = Me.treStyle.Nodes(NodeTemp.key).Next
    Next
    If total = 0 Then Me.chkAlarm.Value = 0
    
    If Not IsNumeric(Me.txtDay.Text) Or val(Me.txtDay.Text) = 0 Then
        MsgBox "报警天数不能为空或等于0!", vbInformation, App.ProductName
        Exit Sub
    End If

    cmdApply_Click
    If m_Apply = False Then Exit Sub
    Set objEOS = Nothing
    Set objVchDefBI = Nothing
    Unload Me
End Sub

Private Sub Form_Load()
    On Error GoTo errHandle
    
    Set objEOS = objVchDefBI.LoadVchEOs(g_sDataSourceName, True)
    Dim i As Integer
    '定义所有未使用的单据号
    For i = 1 To objEOS.count
        Set m_EO = objEOS.Item(i)
        If m_EO.DeriveBIType = 0 Then
            Select Case m_EO.BIType
                Case 31, 33, 41, 43, 45, 52, 53, 55, 62
                    Me.treStyle.Nodes.Add , , "K" & m_EO.BIType, m_EO.Caption
                    If m_EO.IsAutoAlarm = True Then Me.treStyle.Nodes("K" & m_EO.BIType).Checked = True
                    If IsNull(objEOS("K" & m_EO.BIType).AlarmDays) Or objEOS("K" & m_EO.BIType).AlarmDays = 0 Then objEOS("K" & m_EO.BIType).AlarmDays = 3
            End Select
        Else
            Select Case m_EO.DeriveBIType
                Case 31, 33, 41, 43, 45, 52, 53, 55, 62
                    Me.treStyle.Nodes.Add , , "K" & m_EO.BIType, m_EO.Caption
                    If m_EO.IsAutoAlarm = True Then Me.treStyle.Nodes("K" & m_EO.BIType).Checked = True
                    If IsNull(objEOS("K" & m_EO.BIType).AlarmDays) Or objEOS("K" & m_EO.BIType).AlarmDays = 0 Then objEOS("K" & m_EO.BIType).AlarmDays = 3
            End Select
        End If
    Next
    Me.treStyle.Nodes.Add , , "K100", "资金使用计划审批表"
    Me.treStyle.Nodes(1).Selected = True
    Me.txtDay.Text = IIf(objEOS(Me.treStyle.SelectedItem.key).AlarmDays = 0, "3", objEOS(Me.treStyle.SelectedItem.key).AlarmDays)
    NodeKey = Me.treStyle.SelectedItem.key
    
    Me.treStyle.Sorted = True
    Me.treStyle.LineStyle = tvwRootLines
    Me.treStyle.Style = tvwTextOnly
    Me.treStyle.LabelEdit = tvwManual
    Me.treStyle.Indentation = 300
    
    m_iCurFrame = 1
    updDay.Min = 1
    updDay.Max = 99
    Me.txtStartup.Locked = True
    Me.cboDzdOrder.AddItem "年"
    Me.cboDzdOrder.AddItem "月"
    Me.cboDzdOrder.ListIndex = 0
    
    Dim con As New ADODB.Connection
    Dim rec  As New ADODB.Recordset
    Dim SQL As String
    
    con.Open g_sDataSourceName
    
    SQL = "select * from fd_option"
    
    rec.Open SQL, con, adOpenDynamic, adLockOptimistic
        
    If Not rec.EOF Then
        With rec
            Me.txtStartup.Text = IIf(IsNull(.Fields("Option1")), Date, .Fields("Option1"))
            If IsNull(.Fields("Alarm")) Then
                Me.chkAlarm.Value = 0
            Else
                Me.chkAlarm.Value = CByte(.Fields("Alarm")) / 255
            End If
            'Me.txtDay.Text = IIf(IsNull(.Fields("Aldays")) Or .Fields("Aldays") = 0, "3", .Fields("Aldays"))'这步不需要执行
            m_iAlarmDays = IIf(IsNull(.Fields("Aldays")) Or .Fields("Aldays") = 0, "3", .Fields("Aldays"))
            m_bAutoAlarm = IIf(IsNull(.Fields("schedule_flag")), False, .Fields("schedule_flag"))
            Me.txtDzdRows.Text = IIf(IsNull(.Fields("dzdrows")), "30", .Fields("dzdrows"))
            Me.cboDzdOrder.ListIndex = IIf(IsNull(.Fields("dzdorder_flag")), 0, .Fields("dzdorder_flag"))
            If IsNull(.Fields("lxdzero_flag")) Then
                Me.chkZero.Value = 0
            Else
                Me.chkZero.Value = CByte(.Fields("lxdzero_flag")) / 255
            End If
            If IsNull(.Fields("lxdnegative_flag")) Then
                Me.chkNegative.Value = 0
            Else
                Me.chkNegative.Value = CByte(.Fields("lxdnegative_flag")) / 255
            End If
            Me.txtDelayNum.Text = IIf(IsNull(.Fields("lxddelay_num")), "5", .Fields("lxddelay_num"))
            Me.txtReplyNum.Text = IIf(IsNull(.Fields("reply_num")), "10", .Fields("reply_num"))
            If IsNull(.Fields("AutoReturn_flag")) Then
                Me.chkAutoReturn.Value = 0
                If IsNull(.Fields("ReturnOrder_lev")) Then
                    opt1(0).Value = True
                    opt2(0).Value = True
                    opt3(0).Value = True
                Else
                    opt1(mID(.Fields("ReturnOrder_lev"), 1, 1)).Value = True
                    opt2(mID(.Fields("ReturnOrder_lev"), 2, 1)).Value = True
                    opt3(mID(.Fields("ReturnOrder_lev"), 3, 1)).Value = True
                End If
            Else
                Me.chkAutoReturn.Value = CByte(.Fields("AutoReturn_flag")) / 255
                If IsNull(.Fields("ReturnOrder_lev")) Then
                    opt1(0).Value = True
                    opt2(0).Value = True
                    opt3(0).Value = True
                Else
                    opt1(mID(.Fields("ReturnOrder_lev"), 1, 1)).Value = True
                    opt2(mID(.Fields("ReturnOrder_lev"), 2, 1)).Value = True
                    opt3(mID(.Fields("ReturnOrder_lev"), 3, 1)).Value = True
                End If
            End If
            If IsNull(.Fields("limitloan_flag")) Then
                Me.chkLimitLoan.Value = 0
            Else
                Me.chkLimitLoan.Value = CByte(.Fields("limitloan_flag")) / 255
            End If
            .Close
        End With
    Else
        With rec
            .AddNew
            .Fields("Option1") = Null 'ZjAccInfo.zjNdBegin
            Me.txtStartup.Text = ZjAccInfo.zjNdBegin
            .Fields("Alarm") = 0
            .Fields("Aldays") = 3
            m_iAlarmDays = 3
            Me.txtDay.Text = m_iAlarmDays
            Me.treStyle.Nodes("K100").Selected = True
            .Fields("schedule_flag") = 0
            .Fields("dzdrows") = 30
            Me.txtDzdRows.Text = 30
            .Fields("dzdorder_flag") = 0
            Me.cboDzdOrder.ListIndex = 0
            .Fields("lxdzero_flag") = 0
            .Fields("lxdnegative_flag") = 0
            .Fields("lxddelay_num") = 5
            Me.txtDelayNum.Text = 5
            .Fields("reply_num") = 10
            Me.txtReplyNum.Text = 10
            .Fields("AutoReturn_flag") = 0
            .Fields("ReturnOrder_lev") = "000"
            .Fields("limitloan_flag") = 0
            .Update
        End With
    End If
    Me.treStyle.Nodes("K100").Checked = m_bAutoAlarm
    Set rec = Nothing
    Set con = Nothing
    chkAutoReturn_Click
    Exit Sub
errHandle:
    Resume Next
End Sub

Private Sub Form_Resize()
    Me.fraOption(1).Move Me.tabOption.ClientLeft, Me.tabOption.ClientTop, Me.tabOption.ClientWidth, Me.tabOption.ClientHeight
    Me.fraOption(2).Move Me.tabOption.ClientLeft, Me.tabOption.ClientTop, Me.tabOption.ClientWidth, Me.tabOption.ClientHeight
    Me.fraOption(3).Move Me.tabOption.ClientLeft, Me.tabOption.ClientTop, Me.tabOption.ClientWidth, Me.tabOption.ClientHeight
    Me.fraOption(4).Move Me.tabOption.ClientLeft, Me.tabOption.ClientTop, Me.tabOption.ClientWidth, Me.tabOption.ClientHeight
    Me.fraOption(5).Move Me.tabOption.ClientLeft, Me.tabOption.ClientTop, Me.tabOption.ClientWidth, Me.tabOption.ClientHeight
End Sub

Private Sub tabOption_Click()
    If Me.tabOption.SelectedItem.Index = m_iCurFrame Then Exit Sub
    
    Me.fraOption(Me.tabOption.SelectedItem.Index).Visible = True
    Me.fraOption(m_iCurFrame).Visible = False
    
    m_iCurFrame = Me.tabOption.SelectedItem.Index
    Me.ZOrder
End Sub

Private Sub treStyle_NodeCheck(ByVal Node As MSComctlLib.Node)
    'Dim i As Integer
    'Dim total As Integer
    'Dim NodeTemp As MSComctlLib.Node
    
    'If Not IsNumeric(Mid(Node.key, 2, 1)) Then
    '    If Me.treStyle.Nodes(Node.key).Checked = True Then
    '        Set NodeTemp = Me.treStyle.Nodes(Node.key).Child
    '        For i = 1 To Me.treStyle.Nodes(Node.key).Children
    '            Me.treStyle.Nodes(NodeTemp.key).Checked = True
    '            Set NodeTemp = Me.treStyle.Nodes(NodeTemp.key).Next
    '        Next
    '        Me.treStyle.Nodes(Node.key).Expanded = True
    '    Else
    '        Set NodeTemp = Me.treStyle.Nodes(Node.key).Child
    '        For i = 1 To Me.treStyle.Nodes(Node.key).Children
    '            Me.treStyle.Nodes(NodeTemp.key).Checked = False
    '            Set NodeTemp = Me.treStyle.Nodes(NodeTemp.key).Next
    '        Next
    '        Me.treStyle.Nodes(Node.key).Expanded = False
    '    End If
    'Else
    '    total = 0
    '    Set NodeTemp = Me.treStyle.Nodes(Node.Parent.key).Child
    '    For i = 1 To Me.treStyle.Nodes(Node.Parent.key).Children
    '        If Me.treStyle.Nodes(NodeTemp.key).Checked = True Then
    '            total = total + 1
    '        End If
    '        Set NodeTemp = Me.treStyle.Nodes(NodeTemp.key).Next
    '    Next
    '    If total = 0 Then
    '        'Me.treStyle.Nodes(Node.Parent.key).Expanded = False
    '        Me.treStyle.Nodes(Node.Parent.key).Checked = False
    '    Else
    '        Me.treStyle.Nodes(Node.Parent.key).Checked = True
    '    End If
    'End If
    If Not IsNumeric(Me.txtDay.Text) Then
        MsgBox "报警天数不能为空!", vbInformation, App.ProductName
        Me.treStyle.Nodes(NodeKey).Selected = True
        Exit Sub
    End If
    
    If Node.key <> "K100" Then
        Me.txtDay.Text = IIf(IsNull(objEOS(Node.key).AlarmDays) Or objEOS(Node.key).AlarmDays = 0, "", objEOS(Node.key).AlarmDays)
        objEOS(Node.key).IsAutoAlarm = CByte(Me.treStyle.Nodes(Node.key).Checked) / 255
    Else
        Me.txtDay.Text = IIf(m_iAlarmDays = 0, "3", m_iAlarmDays)
        m_bAutoAlarm = Me.treStyle.Nodes(Node.key).Checked
    End If
    
    NodeKey = Node.key
End Sub

Private Sub treStyle_NodeClick(ByVal Node As MSComctlLib.Node)
    If Not IsNumeric(Me.txtDay.Text) Then
        MsgBox "报警天数不能为空!", vbInformation, App.ProductName
        Me.treStyle.Nodes(NodeKey).Selected = True
        Exit Sub
    End If
    
    If Node.key <> "K100" Then
        Me.txtDay.Text = IIf(IsNull(objEOS(Node.key).AlarmDays) Or objEOS(Node.key).AlarmDays = 0, "", objEOS(Node.key).AlarmDays)
    Else
        Me.txtDay.Text = IIf(m_iAlarmDays = 0, "3", m_iAlarmDays)
    End If
    'If Val(Me.txtDay.Text) > 0 Then
    '    Me.treStyle.Nodes(Node.key).Checked = True
    'Else
    '    Me.treStyle.Nodes(Node.key).Checked = False
    'End If
    NodeKey = Node.key
End Sub

Private Sub txtDay_KeyPress(KeyAscii As Integer)
    If KeyAscii = Asc("-") Then KeyAscii = 0
    If txtDay.SelStart = 0 And KeyAscii = Asc("0") Then KeyAscii = 0
End Sub

Private Sub txtDay_LostFocus()
     If NodeKey = "K100" Then
        If Me.txtDay.Text = "0" Or Me.txtDay.Text = "" Then
            m_iAlarmDays = 3
            'Me.treStyle.SelectedItem.Checked = False
        Else
            m_iAlarmDays = Me.txtDay.Text
            'Me.treStyle.SelectedItem.Checked = True
        End If
     Else
        If Me.txtDay.Text = "0" Or Me.txtDay.Text = "" Then
            'Me.treStyle.SelectedItem.Checked = False
            objEOS(NodeKey).AlarmDays = 3
            objEOS(NodeKey).IsAutoAlarm = 0
        Else
            'Me.treStyle.SelectedItem.Checked = True
            objEOS(NodeKey).AlarmDays = Me.txtDay.Text
            objEOS(NodeKey).IsAutoAlarm = CByte(Me.treStyle.SelectedItem.Checked) / 255
        End If
     End If
End Sub

Private Sub txtDelayNum_KeyPress(KeyAscii As Integer)
    If KeyAscii = Asc("-") Then KeyAscii = 0
    If txtDelayNum.SelStart = 0 And KeyAscii = Asc("0") Then KeyAscii = 0
End Sub

Private Sub txtDzdRows_KeyPress(KeyAscii As Integer)
    If KeyAscii = Asc("-") Then KeyAscii = 0
    If txtDzdRows.SelStart = 0 And KeyAscii = Asc("0") Then KeyAscii = 0
End Sub

Private Sub txtReplyNum_KeyPress(KeyAscii As Integer)
    If KeyAscii = Asc("-") Then KeyAscii = 0
    If txtReplyNum.SelStart = 0 And KeyAscii = Asc("0") Then KeyAscii = 0
End Sub

Private Sub updDay_DownClick()
    If txtDay.Text = "" Then
        txtDay.Text = updDay.Min
    Else
        If txtDay.Text > updDay.Min And txtDay.Text <= updDay.Max Then
            updDay.Value = txtDay.Text
            updDay.Value = updDay.Value - 1
            txtDay.Text = updDay.Value
        End If
    End If
    txtDay_LostFocus
End Sub

Private Sub updDay_UpClick()
    If txtDay.Text = "" Then
        txtDay.Text = updDay.Min
    Else
        If txtDay.Text < updDay.Max And txtDay.Text >= updDay.Min Then
            updDay.Value = txtDay.Text
            updDay.Value = updDay.Value + 1
            txtDay.Text = updDay.Value
        End If
    End If
    txtDay_LostFocus
End Sub

⌨️ 快捷键说明

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