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

📄 +

📁 VB开发的ERP系统
💻
字号:
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "mscomctl.ocx"
Begin VB.Form JC_FrmFormulaGen 
   BorderStyle     =   1  'Fixed Single
   Caption         =   "公式定义"
   ClientHeight    =   5790
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   8280
   Icon            =   "基础设置_公式定义.frx":0000
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   5790
   ScaleWidth      =   8280
   StartUpPosition =   2  '屏幕中心
   Begin VB.Frame Frame1 
      Height          =   5775
      Left            =   0
      TabIndex        =   0
      Top             =   0
      Width           =   8265
      Begin VB.TextBox txtDescribe 
         Height          =   1605
         Left            =   120
         Locked          =   -1  'True
         MultiLine       =   -1  'True
         ScrollBars      =   2  'Vertical
         TabIndex        =   13
         Top             =   420
         Width           =   3495
      End
      Begin VB.Frame Frame2 
         Caption         =   "公式参照"
         Height          =   3165
         Left            =   60
         TabIndex        =   5
         Top             =   2070
         Width           =   8115
         Begin VB.OptionButton Opt_List 
            Caption         =   "核算对象"
            Height          =   180
            Index           =   3
            Left            =   7020
            TabIndex        =   14
            Top             =   240
            Width           =   1035
         End
         Begin VB.ListBox lstFunction 
            Height          =   2580
            Left            =   90
            TabIndex        =   11
            Top             =   480
            Width           =   3465
         End
         Begin VB.OptionButton Opt_List 
            Caption         =   "会计科目"
            Height          =   180
            Index           =   1
            Left            =   4740
            TabIndex        =   9
            Top             =   240
            Width           =   1035
         End
         Begin VB.OptionButton Opt_List 
            Caption         =   "来源部门"
            Height          =   180
            Index           =   2
            Left            =   5880
            TabIndex        =   8
            Top             =   240
            Width           =   1035
         End
         Begin VB.OptionButton Opt_List 
            Caption         =   "物料编码"
            Height          =   180
            Index           =   0
            Left            =   3600
            TabIndex        =   7
            Top             =   240
            Value           =   -1  'True
            Width           =   1035
         End
         Begin MSComctlLib.TreeView Tree_List 
            Height          =   2580
            Left            =   3600
            TabIndex        =   6
            Top             =   480
            Width           =   4425
            _ExtentX        =   7805
            _ExtentY        =   4551
            _Version        =   393217
            Style           =   7
            Appearance      =   1
         End
         Begin VB.Label Label2 
            AutoSize        =   -1  'True
            Caption         =   "函数名称:"
            Height          =   180
            Left            =   90
            TabIndex        =   10
            Top             =   240
            Width           =   810
         End
      End
      Begin VB.TextBox txtFormula 
         Height          =   1605
         Left            =   3660
         MultiLine       =   -1  'True
         ScrollBars      =   2  'Vertical
         TabIndex        =   3
         Top             =   420
         Width           =   4515
      End
      Begin VB.CommandButton CancelButton 
         Caption         =   "取消"
         Height          =   375
         Left            =   6900
         TabIndex        =   2
         Top             =   5310
         Width           =   1275
      End
      Begin VB.CommandButton OKButton 
         Caption         =   "公式确认"
         Height          =   375
         Left            =   5460
         TabIndex        =   1
         Top             =   5310
         Width           =   1275
      End
      Begin VB.Label Lab_NonceItem 
         AutoSize        =   -1  'True
         ForeColor       =   &H000000FF&
         Height          =   180
         Left            =   2010
         TabIndex        =   16
         Top             =   5407
         Width           =   90
      End
      Begin VB.Label Lab_NonceCenter 
         AutoSize        =   -1  'True
         ForeColor       =   &H000000FF&
         Height          =   180
         Left            =   180
         TabIndex        =   15
         Top             =   5400
         Width           =   90
      End
      Begin VB.Label Label3 
         Caption         =   "函数说明:"
         Height          =   195
         Left            =   120
         TabIndex        =   12
         Top             =   180
         Width           =   735
      End
      Begin VB.Label Label1 
         AutoSize        =   -1  'True
         Caption         =   "公式内容:"
         Height          =   180
         Left            =   3660
         TabIndex        =   4
         Top             =   180
         Width           =   810
      End
   End
End
Attribute VB_Name = "JC_FrmFormulaGen"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'*********************************************************************************************************
'*    模 块 名 称 :公式定义
'*    功 能 描 述 :公式定义
'*    程序员姓名  :xjl
'*    最后修改人  :xjl
'*    最后修改时间:2002/1/22
'*    备        注:程序中所有依实际情况自定义部分均用[>>  <<]括起
'*********************************************************************************************************

Option Explicit
Dim str_Describe() As String
Dim str_ConSult_List() As String
Private Sub CancelButton_Click()
    Unload Me
End Sub
Private Sub Form_Load()
    txtFormula.Text = Glo_FormulaString
    FillListBox
    Call ConSult_List(0)
    '显示成本中心,成本项目
    Lab_NonceCenter = "成本中心:《" + Glo_NonceCenter + "》"
    Lab_NonceItem = "成本项目:《" + Glo_NonceItem + "》"
    Lab_NonceItem.Left = Lab_NonceCenter.Left + Lab_NonceCenter.Width + 50
End Sub
Private Sub lstFunction_Click()
    txtDescribe.Text = str_Describe(lstFunction.ListIndex)
End Sub
Private Sub lstFunction_DblClick()
    txtFormula.SelText = lstFunction.Text
End Sub
Private Sub OKButton_Click()
    Dim Tsxx As String
    If Trim(txtFormula.Text) = "" Then
        txtFormula.Text = "0"
    End If
    '公式检验
    If CheckFormula = False Then
        Tsxx = "公式语法有误,请重新输入!"
        txtFormula.SetFocus
        Call Xtxxts(Tsxx, 0, 1)
        Exit Sub
    End If
    Glo_FormulaString = txtFormula.Text
    Unload Me
End Sub
Function FillListBox() As String   '填充列表框并定位
    '函数参数:列表框,列表框分组编码,定位内容,填充类型(0-无空记录  1-有空记录(1个空格) )
    Dim Lbknrrec As ADODB.Recordset
    Dim int_Count As Integer
    '填充列表框内容
    Set Lbknrrec = Cw_DataEnvi.DataConnect.Execute("select * from cwzz_UserDefineFn")
    ReDim str_Describe(Lbknrrec.RecordCount - 1) As String
    Do While Not Lbknrrec.EOF
        lstFunction.AddItem Trim(Lbknrrec("fnalias") & "")
        str_Describe(int_Count) = Trim(Lbknrrec("fncomment") & "")
        int_Count = int_Count + 1
        Lbknrrec.MoveNext
    Loop
    '定位列表框内容
    lstFunction.ListIndex = 0
End Function
'物料,科目,部门参照,成本对象
Sub ConSult_List(Index As Integer)
    Dim RecTemp As ADODB.Recordset
    Dim Description  As String
    Dim SQLStr As String
    Select Case Index
        Case 0
            SQLStr = "Select MNumber As A,MName As B,'1' As CodeLevel From kf_V_invsort where InvSortcode like '01'"
            Description = "物料编码"
        Case 1
            SQLStr = "Select Ccode AS A,Cname AS B,CodeLevel From Cwzz_AccCode Order By CCode"
            Description = "科目编码"
        Case 2
            SQLStr = "Select DeptCode As A,DeptName AS B,CodeLevel From Gy_Department Order By DeptCode"
            Description = "来源部门"
        Case 3
            SQLStr = "Select ObjectCode As A,ObjectName As B,'1' As CodeLevel From Cb_CostObject Order By ObjectCode"
            Description = "核算对象"
    End Select
    Set RecTemp = Cw_DataEnvi.DataConnect.Execute(SQLStr)
    Call fill_tv(Tree_List, RecTemp, "A", "B", True, Description)
End Sub
Private Sub Opt_List_Click(Index As Integer)
    Call ConSult_List(Index)
End Sub
'---------------------------------------------
'填充TREEVIEW
Public Sub fill_tv(tv As TreeView, flbm As ADODB.Recordset, field1 As String, field2 As String, bmjc_bz As Boolean, tree_name As String)
    Dim Title_Bar As String
    Title_Bar = "成本核算管理系统"
    Dim fllb, lsbl(), lsbl1(), remlayer, nodX, tem, count
    On Error GoTo ERRORCL
    tv.Nodes.Clear
    flbm.Requery
    If flbm.EOF Then
        Set nodX = tv.Nodes.Add(, 4, "r", tree_name)
        Exit Sub
    Else
        Set nodX = tv.Nodes.Add(, 4, "r", tree_name)
    End If
    flbm.MoveFirst
    count = 1
    If bmjc_bz Then
        Do While Not flbm.EOF
            fllb = "(" + Trim(flbm.Fields(field1)) + ")" + Trim(flbm.Fields(field2))
            remlayer = flbm.Fields("codelevel")
            tem = Trim(flbm.Fields(field1))
            Select Case remlayer
                Case 1
                    ReDim Preserve lsbl(remlayer)
                    ReDim Preserve lsbl1(remlayer)
                    lsbl(remlayer) = "p" & tem
                    Set nodX = tv.Nodes.Add("r", 4, lsbl(remlayer), fllb)
                    tv.Nodes(count).Expanded = True
                Case 2
                    ReDim Preserve lsbl1(remlayer)
                    ReDim Preserve lsbl1(remlayer)
                    lsbl1(remlayer) = "p" & tem
                    Set nodX = tv.Nodes.Add(lsbl(remlayer - 1), tvwChild, lsbl1(remlayer), fllb)
                Case 3
                    ReDim Preserve lsbl(remlayer)
                    ReDim Preserve lsbl1(remlayer)
                    lsbl(remlayer) = lsbl1(remlayer - 1)
                    lsbl1(remlayer) = "p" & tem
                    Set nodX = tv.Nodes.Add(lsbl(remlayer), tvwChild, lsbl1(remlayer), fllb)
                Case Else
                    ReDim Preserve lsbl(remlayer)
                    ReDim Preserve lsbl1(remlayer)
                    lsbl(remlayer) = lsbl1(remlayer - 1)
                    lsbl1(remlayer) = "p" & tem
                    Set nodX = tv.Nodes.Add(lsbl(remlayer), tvwChild, lsbl1(remlayer), fllb)
            End Select
            count = count + 1
            flbm.MoveNext
        Loop
    Else
        Do While Not flbm.EOF
            fllb = "(" + Trim(flbm.Fields(field1)) + ")" + Trim(flbm.Fields(field2))
            tem = Trim(flbm.Fields("flbm"))
            lsbl(remlayer) = "p" & tem
            Set nodX = tv.Nodes.Add(, 4, lsbl(remlayer), fllb)
            flbm.MoveNext
        Loop
    End If
    Exit Sub
ERRORCL:
    MsgBox "程序出现错误", vbExclamation, Title_Bar
    Exit Sub
End Sub
''双击事件
Private Sub Tree_List_DblClick()
    txtFormula.SelText = Mid(Tree_List.SelectedItem.Key, 2, Len(Tree_List.SelectedItem.Key) - 1)
End Sub
'公式检验
Function CheckFormula() As Boolean
    Dim Str_Formula As String
    Dim Cxnrrec As New ADODB.Recordset
    Dim SQLStr
    On Error GoTo Err:
    '公式
    Str_Formula = Trim(txtFormula.Text)
    Str_Formula = Fn_Replace(Str_Formula, 0)
    '替换年月
    Str_Formula = Replace(Str_Formula, "本年", Xtyear)
    Str_Formula = Replace(Str_Formula, "本月", Xtmm)
    SQLStr = "Select " & Str_Formula & " As ReturnValue"
    
    Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(SQLStr)
    CheckFormula = True
    Exit Function
Err:
    CheckFormula = False
End Function

⌨️ 快捷键说明

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