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

📄 +

📁 VB开发的ERP系统
💻
📖 第 1 页 / 共 5 页
字号:
                 Else
                    .Fields("DayBookFlag") = 0
                 End If
                 If Chk_CashFlow.Value = 1 Then                 '现金或现金等价物
                    .Fields("CashFlowFlag") = 1
                 Else
                    .Fields("CashFlowFlag") = 0
                 End If
                 .Fields("EndFlag") = 1                         '末级标志
            .Update
            
             '将上级科目末级标志置0
             
             Set RecTemp = Cw_DataEnvi.DataConnect.Execute("Update Cwzz_AccCode Set Endflag=0 Where Ccode='" & Trim(Str_Parent) & "'")
             
             Cw_DataEnvi.DataConnect.CommitTrans
   
            SqlStr = "SELECT Cwzz_AccCode.*, Gy_ForeignCurrency.ForeignCurrName FROM Cwzz_AccCode LEFT OUTER JOIN" & _
                    " Gy_ForeignCurrency ON" & _
                    " Cwzz_AccCode.ForeignCurrCode = Gy_ForeignCurrency.ForeignCurrCode WHERE Ccode= '" & Trim(LrText(0).Text) & "'"
            Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(SqlStr)
   
            With CzxsGrid
                .AddItem ""
                .RowHeight(.Rows - 1) = Sjhgd
                .Select .Rows - 1, Qslz
                Call Jltcwg(Cxnrrec, .Rows - 1)
            End With
   
            Tsxx = "保存完毕!"
            Call Xtxxts(Tsxx, 0, 4)
            Call Cshlrxx(1)
            LrText(0).SetFocus
   
            '将网格按科目编码排序
            With CzxsGrid
                .Col = Sydz("003", GridStr(), Szzls)
                CzxsGrid.Sort = flexSortStringAscending
            End With
    
        Else  '否则为修改记录
 
            If .State = 1 Then .Close
            .Open "SELECT * FROM Cwzz_AccCode WHERE Cname= '" + Trim(LrText(1).Text) + "' and CCode<>'" & Trim(LrText(0).Text) & "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
            If Not .EOF Then
                Tsxx = "科目名称重复!"
                Call Xtxxts(Tsxx, 0, 1)
                LrText(1).SetFocus
                Bclrsj = False
                Exit Function
            End If
             
             '判断助记码是否唯一
            If Trim(LrText(5).Text) <> "" Then
                If .State = 1 Then .Close
                .Open "SELECT * FROM Cwzz_AccCode WHERE AssCode= '" + Trim(LrText(5).Text) + "' and CCode<>'" & Trim(LrText(0).Text) & "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
                If Not .EOF Then
                    Tsxx = "助记码不唯一!"
                    Call Xtxxts(Tsxx, 0, 1)
                    LrText(5).SetFocus
                    Bclrsj = False
                    Exit Function
                End If
            End If
            
            '如果科目汇总打印则其汇总科目不能为空且为其上级科目
            If Chk_SumPrint.Value = 1 Then
                If Len(Trim(LrText(6).Text)) = 0 Then
                    Tsxx = "科目进行汇总打印,则汇总科目不能为空!"
                    Call Xtxxts(Tsxx, 0, 1)
                    LrText(6).SetFocus
                    Bclrsj = False
                    Exit Function
                Else
                    If InStr(1, Trim(LrText(0).Text), Trim(LrText(6).Text)) = 0 Then
                        Tsxx = "汇总打印科目必须为其上级科目!"
                        Call Xtxxts(Tsxx, 0, 1)
                        LrText(6).SetFocus
                        Bclrsj = False
                        Exit Function
                    End If
                    
                    '判断汇总科目是否存在
                    Set RecTemp = Cw_DataEnvi.DataConnect.Execute("Select Ccode From Cwzz_AccCode Where Ccode='" & Trim(LrText(6).Text) & "'")
                    
                    If RecTemp.EOF Then
                        Tsxx = "汇总打印科目不存在!"
                        Call Xtxxts(Tsxx, 0, 1)
                        LrText(6).SetFocus
                        Bclrsj = False
                        Exit Function
                    End If
                End If
            End If
    
            On Error GoTo Swcwcl
    
            Cw_DataEnvi.DataConnect.BeginTrans
     
            If .State = 1 Then .Close
            .Open "SELECT * FROM Cwzz_AccCode WHERE Ccode= '" + Trim(LrText(0).Text) + "'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
            If Not .EOF Then
                .Fields("AssCode") = Trim(LrText(5).Text)      '助记码
                .Fields("Cclass") = Combo_Class.Text           '科目类型
                .Fields("Cname") = Trim(LrText(1).Text)        '科目名称
                .Fields("CProperty") = Combo_Prop.Text         '科目性质
                .Fields("AccFormat") = Combo_AccFormat.Text    '帐页格式
                If Chk_ForiFlag.Value = 1 Then                 '外币
                    .Fields("ForeignFlag") = 1
                    .Fields("ForeignCurrCode") = Trim(LrText(2).Tag)
                Else
                    .Fields("ForeignFlag") = 0
                    .Fields("ForeignCurrCode") = Null
                End If
                If Chk_QuatFlag.Value = 1 Then                 '数量单位
                    .Fields("QuantityFlag") = 1
                    .Fields("Measure") = Trim(LrText(3).Text)
                Else
                    .Fields("QuantityFlag") = 0
                    .Fields("Measure") = ""
                End If
                If Chk_SumPrint.Value = 1 Then                 '汇总打印
                    .Fields("IIFSum") = 1
                    .Fields("cSumCode") = Trim(LrText(6).Text)
                Else
                    .Fields("IIFSum") = 0
                    .Fields("cSumCode") = ""
                End If
                If Opt_Yefx(0) Then                            '余额方向
                    .Fields("BalanceOri") = "借"
                Else
                    .Fields("BalanceOri") = "贷"
                End If
            
                If Chk_Ass(0).Value = 1 Then                   '客户核算
                    .Fields("CusFlag") = 1
                Else
                    .Fields("CusFlag") = 0
                End If
                
                If Chk_Ass(4).Value = 1 Then                   '供应商核算
                    .Fields("SupplierFlag") = 1
                Else
                    .Fields("SupplierFlag") = 0
                End If
                
                If Chk_Ass(1).Value = 1 Then                   '部门核算
                    .Fields("DeptFlag") = 1
                Else
                    .Fields("DeptFlag") = 0
                End If
                
                If Chk_Ass(2).Value = 1 Then                   '个人核算
                    .Fields("PersonFlag") = 1
                Else
                    .Fields("PersonFlag") = 0
                End If
                If Chk_Ass(3).Value = 1 Then                   '项目核算
                    .Fields("ItemFlag") = 1
                    .Fields("ItemClassCode") = Trim(LrText(4).Tag)
                Else
                    .Fields("ItemFlag") = 0
                    .Fields("ItemClassCode") = Null
                End If
                   
                If ChkStopUse.Value = 1 Then                   '停用
                    .Fields("StopFlag") = 1
                Else
                    .Fields("StopFlag") = 0
                End If
                
                If Chk_DayBookFlag.Value = 1 Then                 '日记帐
                    .Fields("DayBookFlag") = 1
                Else
                    .Fields("DayBookFlag") = 0
                End If
                
                If Chk_CashFlow.Value = 1 Then                 '现金或现金等价物
                    .Fields("CashFlowFlag") = 1
                Else
                    .Fields("CashFlowFlag") = 0
                End If
             
                .Update
      
                '修改其下级科目科目类型
                SqlStr = "Update Cwzz_AccCode Set Cclass='" & Combo_Class.Text & "' Where Ccode Like  '" & Trim(LrText(0).Text) & "%'"
                Cw_DataEnvi.DataConnect.Execute (SqlStr)
      
            End If
  
            Cw_DataEnvi.DataConnect.CommitTrans
     
            SqlStr = "SELECT Cwzz_AccCode.*, Gy_ForeignCurrency.ForeignCurrName FROM Cwzz_AccCode LEFT OUTER JOIN" & _
                    " Gy_ForeignCurrency ON" & _
                    " Cwzz_AccCode.ForeignCurrCode = Gy_ForeignCurrency.ForeignCurrCode WHERE Ccode= '" & Trim(LrText(0).Text) & "'"
            Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(SqlStr)
            
            If Not Cxnrrec.EOF Then
                With CzxsGrid
                    Call Jltcwg(Cxnrrec, .Row)
                End With
            End If
  
  End If
  
  '保存记录成功,函数返回真值
  Bclrsj = True
  Exit Function
    
End With

Swcwcl:

    Cw_DataEnvi.DataConnect.RollbackTrans
    
    Tsxx = "存盘过程中出现错误,程序自动恢复保存前状态!"
    Call Xtxxts(Tsxx, 0, 1)
    
    Exit Function
     
End Function

Private Function Cshlrxx(lrztxx As Integer) As Boolean              '初始化录入字段信息

    TextChangeLock = True       '关闭文本框Chang事件
    
    If lrztxx = 1 Then
    
        '增加新记录时将文本框清空
        For jsqte = 0 To Max_Text_Index
            If Len(Trim(Textstr(jsqte, 1))) <> 0 Then
                LrText(jsqte).Text = ""
                LrText(jsqte).Tag = ""
            End If
            TextValiJudgeLock(jsqte) = True
        Next jsqte
       
        '[>>
        '在此处可添加新增记录时初始化设置
        Chk_ForiFlag.Value = 0
        Chk_QuatFlag.Value = 0
        Chk_SumPrint.Value = 0
        ChkStopUse.Value = 0
        Opt_Yefx(0).Value = True
        For jsqte = 0 To 3
            Chk_Ass(jsqte).Value = 0
        Next jsqte
     
        ChkStopUse.Enabled = False
        '<<]
    Else
    
        '修改记录时根据记录关键字(编码)从数据表中读入其他字段内容
        SqlStr = "SELECT Cwzz_AccCode.*, Gy_ForeignCurrency.ForeignCurrName,Cwzz_ItemClass.ItemClassName FROM Cwzz_AccCode LEFT OUTER JOIN" & _
                " Gy_ForeignCurrency ON" & _
                " Cwzz_AccCode.ForeignCurrCode = Gy_ForeignCurrency.ForeignCurrCode LEFT OUTER JOIN" & _
                " Cwzz_ItemClass ON" & _
                " Cwzz_AccCode.ItemClassCode = Cwzz_ItemClass.ItemClassCode  Where CCode='" & Trim(CzxsGrid.TextMatrix(CzxsGrid.Row, Sydz("003", GridStr(), Szzls))) & "'"
 
        Set RecTemp = Cw_DataEnvi.DataConnect.Execute(SqlStr)
       
        If Not RecTemp.EOF Then
           
                LrText(0).Text = Trim(RecTemp.Fields("Ccode"))                 '科目编码
                LrText(5).Text = Trim(RecTemp.Fields("AssCode") & "")          '助记码
                LrText(1).Text = Trim(RecTemp.Fields("Cname") & "")            '科目名称
                Combo_Class.Text = Trim(RecTemp.Fields("CClass"))              '科目类型
                Combo_Prop.Text = Trim(RecTemp.Fields("CProperty"))            '科目性质
                Combo_AccFormat = Trim(RecTemp.Fields("AccFormat"))            '帐页格式
                
                If RecTemp.Fields("ForeignFlag") Then
                    Chk_ForiFlag.Value = 1                                         '外币核算标志
                    LrText(2).Text = Trim(RecTemp.Fields("ForeignCurrName") & "")
                    LrText(2).Tag = Trim(RecTemp.Fields("ForeignCurrCode") & "")
                    Call Textyx(LrText(2))
                    Ydcommand1(2).Enabled = True
                Else
                    Chk_ForiFlag.Value = 0
                    LrText(2).Text = ""
                    LrText(2).Tag = ""
                    Call Textwx(LrText(2))
                    Ydcommand1(2).Enabled = False
                End If
                    
                If RecTemp.Fields("QuantityFlag") Then
                    Chk_QuatFlag.Value = 1                                          '数量核算标志
                    LrText(3).Text = Trim(RecTemp.Fields("Measure") & "")
                    Call Textyx(LrText(3))
                Else
                    Chk_QuatFlag.Value = 0
                    Call Textwx(LrText(3))
                    LrText(3).Text = ""
                End If
                
                If RecTemp.Fields("IIFSum") Then
                    Chk_SumPrint.Value = 1                                          '汇总打印
                    LrText(6).Text = Trim(RecTemp.Fields("cSumCode") & "")
                    Call Textyx(LrText(6))
                Else
                    Chk_SumPrint.Value = 0
                    Call Textwx(LrText(6))
                    LrText(6).Text = ""
                End If
                
                If Trim(RecTemp.Fields("BalanceOri")) = "借" Then                  '余额方向
                   Opt_Yefx(0).Value = True
                Else
                   Opt_Yefx(1).Value = True
                End If
                
                If RecTemp.Fields("CusFlag") Then
                    Chk_Ass(0).Value = 1                                           '辅助核算(客户)
                Else
                    Chk_Ass(0).Value = 0
                End If
          

⌨️ 快捷键说明

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