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

📄 设置_项目相关类别设置.frm

📁 新世纪ERP设备管理源代码
💻 FRM
📖 第 1 页 / 共 3 页
字号:
         Style           =   1
         ImageList       =   "ImageList1"
         _Version        =   393216
         BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
            NumButtons      =   3
            BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
               Caption         =   "保存格式"
               Key             =   "bcgs"
               ImageIndex      =   10
            EndProperty
            BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
               Caption         =   "默认列宽"
               Key             =   "hfmrgs"
               ImageIndex      =   11
            EndProperty
            BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628} 
               Caption         =   "显示项目"
               Key             =   "szxsxm"
               ImageIndex      =   12
            EndProperty
         EndProperty
      End
   End
   Begin vsElasticLightLibCtl.vsElasticLight vsElasticLight1 
      Left            =   6660
      OleObjectBlob   =   "设置_项目相关类别设置.frx":3F3C
      Top             =   1230
   End
End
Attribute VB_Name = "Dev_ItemCorrelationForm"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'*******************************************************
'*    模 块 名 称 :相关类别设置
'*    功 能 描 述 :
'*    程序员姓名  : 王雄
'*    最后修改人  : 王哲
'*    最后修改时间:2000/08/22
'*    备        注:经过自己测试
'*******************************************************
 
Dim RecDigest As New ADODB.Recordset     '常用摘要表
Dim jdzygs As Integer                    '控件焦点转移个数
Dim Lrzt As Integer                      '录入状态标志(0-非录入状态 1-增加 2-修改)
Dim ReportTitle As String                '报表主标题
  
'以下为固定使用变量(网格)
Dim Cxnrrec As New ADODB.Recordset       '显示查询内容动态集
Dim Dyymctbl As New DY_Dyymsz            '打印页面窗体变量
Dim GridCode As String                   '显示网格网格代码
Dim GridInf() As Variant                 '整个网格设置信息
Dim Tsxx As String                       '系统提示信息
Dim Qslz As Long                         '网格隐藏(非操作显示)列数
Dim Sjhgd As Double                      '网格数据行高度
Dim GridBoolean() As Boolean             '网格列信息(布尔型)
Dim GridStr()  As String                 '网格列信息(字符型)
Dim GridInt() As Integer                 '网格列信息(整型)
Dim Szzls As Integer                     '数组总列数(网格列数-1)

'以下为固定使用变量(文本框)
Dim Textvar() As Variant                 '存储变体型文本框信息
Dim Textboolean() As Boolean             '存储布尔型文本框信息
Dim Textint() As Integer                 '存储整型文本框信息
Dim Textstr() As String                  '存储字符型文本框信息
Dim Max_Text_Index As Integer            '最大录入文本框索引值
Dim TextGroupCode As String              '文本框录入分组编码
Dim TextValiLock As Boolean              '文本框失去焦点是否进行有效性控制判断
Dim TextValiJudgeLock() As Boolean       '文本框录入有效性判断控制锁
Dim CurTextIndex As Integer              '当前文本框索引值
Dim TextChangeLock As Boolean            '文本框内容变换控制锁

Private Sub Form_KeyPress(KeyAscii As Integer)   '控 制 焦 点 转 移
    
    jdzygs = 3
    Select Case KeyAscii
        Case vbKeyReturn
            If Kjjdzy(jdzygs) Then
                KeyAscii = 0
            End If
        Case 39           '屏蔽"'"
            KeyAscii = 0
    End Select

End Sub

Private Sub Form_Load()
  
    '自动缩放控件有效
  
    vsElasticLight1.Enabled = True
  
    '定义可变部分变量
    ReportTitle = "项目相关类别设置"
  
    '调入打印页面设置窗体

     XtReportCode = "dev_CorrSort"
     Load Dyymctbl
  
    '以下为文本框处理程序
  
    TextGroupCode = "dev_CorrSort"
    Call Drwbkxx(TextGroupCode, Textvar(), Textboolean(), Textint(), Textstr())  '读入文本框录入信息
    Call Wbkcsh
  
    '调 入 网 格
    GridCode = "dev_CorrSort"
  
    Call BzWgcsh(CzxsGrid, GridCode, GridInf(), GridBoolean(), GridInt(), GridStr())
  
    Qslz = GridInf(1)
    Sjhgd = GridInf(2)
    Szzls = CzxsGrid.Cols - 1
  
    '填 充 网 格
    Call Cxnrtcwg
   
    '初始化toolbar,tab卡状态
   
    StTab.Tab = 0
    StTab.TabEnabled(1) = False
    Frame1.Enabled = False
    Lrzt = 0
  
End Sub

Private Sub Cxnrtcwg()                               '查 询 内 容 填 充 网 格
    Dim Sqlstr As String
    Dim jsqte As Long
  
    '查询连接串
    Sqlstr = "select * from DEV_CorrelationSort"
    Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
    With Cxnrrec
        CzxsGrid.Clear , flexClearData
        CzxsGrid.Rows = .RecordCount + CzxsGrid.FixedRows
        If .EOF And .BOF Then
            Exit Sub
        End If
        jsqte = CzxsGrid.FixedRows
        Do While Not .EOF
            If jsqte >= CzxsGrid.Rows Then
                CzxsGrid.AddItem ""
            End If
            Call Jltcwg(Cxnrrec, jsqte)
            CzxsGrid.RowHeight(jsqte) = Sjhgd
            .MoveNext
            jsqte = jsqte + 1
        Loop
    End With

End Sub

Private Sub Jltcwg(Jlbrec As ADODB.Recordset, Rowjsq As Long)                                     '记录内容填充网格
    
    '[以下为自定义部分
    With Jlbrec
        CzxsGrid.TextMatrix(Rowjsq, Sydz("001", GridStr(), Szzls)) = Trim(.Fields("SortCode"))      '类别编码
        CzxsGrid.TextMatrix(Rowjsq, Sydz("002", GridStr(), Szzls)) = Trim(.Fields("SortName"))      '类别名称
        If .Fields("YNRoot") = True Then
            CzxsGrid.TextMatrix(Rowjsq, Sydz("003", GridStr(), Szzls)) = True                       '是否固定
        Else
            CzxsGrid.TextMatrix(Rowjsq, Sydz("003", GridStr(), Szzls)) = False
        End If
    End With
    '以上为自定义部分]

End Sub

Private Sub Form_Resize()
    
    On Error Resume Next
  
    If Me.Height < 5000 Then Me.Height = 5000
    If Me.Width < 8805 Then Me.Width = 8805
  
End Sub

Private Sub Form_Unload(Cancel As Integer)             '窗体卸载
    
    Set Cxnrrec = Nothing
    Unload Dyymctbl

End Sub

Private Function Bclrsj() As Boolean                   '判断录入数据有效性,并保存数据
    
    Dim jsqte As Integer
    
    With RecDigest
        For jsqte = 0 To Max_Text_Index
            If Textint(jsqte, 8) = 1 Then     '字段不能为空
                If Len(Trim(LrText(jsqte).Text)) = 0 Then
                    Tsxx = Textstr(jsqte, 7) & "不能为空!"
                    Call Xtxxts(Tsxx, 0, 1)
                    LrText(jsqte).SetFocus
                    Bclrsj = False
                    Exit Function
                End If
            Else
                If Textint(jsqte, 8) = 2 Then   '字段不能为零
                    If Val(Trim(LrText(jsqte).Text)) = 0 Then
                        Tsxx = Textstr(jsqte, 7) & "不能为零!"
                        Call Xtxxts(Tsxx, 0, 1)
                        LrText(jsqte).SetFocus
                        Bclrsj = False
                        Exit Function
                    End If
                End If
            End If
        Next jsqte
        '对需要进行事后判断的文本框录入内容进行有效性判断 (固定不变)
        For jsqte = 0 To Max_Text_Index
            If Textboolean(jsqte, 2) Then
                If Not TextYxxpd(jsqte) Then
                    Exit Function
                End If
            End If
        Next jsqte
        '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
        On Error GoTo Err_bc
  
        If Lrzt = 1 Then  '增 加
            If .State = 1 Then .Close
            .Open "SELECT * FROM DEV_CorrelationSort Where SortCode ='" & Trim(LrText(0)) & "' ", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
            If Not RecDigest.EOF Then
                Tsxx = "类别编码重复!"
                Call Xtxxts(Tsxx, 0, 1)
                LrText(0).SetFocus
                Bclrsj = False
                Exit Function
            End If
            
            If .State = 1 Then .Close
            .Open "SELECT * FROM DEV_CorrelationSort WHERE SortName= '" + Trim(LrText(1).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

            Cw_DataEnvi.DataConnect.Execute "insert into DEV_CorrelationSort(SortCode,SortName,YNRoot) values('" _
                   & Trim(LrText(0).Text) & "','" & Trim(LrText(1).Text) & "','" & A_YNStop.Value & "')"
   
            Sqlstr = "SELECT * FROM DEV_CorrelationSort where SortName='" & Trim(LrText(1).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
            Cxnrrec.Close
            
            Tsxx = "保存完毕!"
            Call Xtxxts(Tsxx, 0, 4)
            Call Cshlrxx(1)
            LrText(0).SetFocus
            
            '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
        Else

              If .State = 1 Then .Close
            .Open "SELECT * FROM DEV_CorrelationSort WHERE SortName= '" + Trim(LrText(1).Text) + "' and Sortcode<>'" & 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

            Cw_DataEnvi.DataConnect.Execute "update DEV_CorrelationSort set SortName='" _
                    & Trim(LrText(1).Text) & "',YNRoot='" & A_YNStop.Value & "'" _
                    & "Where Sortcode = '" & Trim(LrText(0).Text) & "'"
            Cw_DataEnvi.DataConnect.Execute "update DEV_item set ItmeCorrelation='" & Trim(LrText(1).Text) & "' where ItmeCorrelation='" & Label_Name.Caption & "'"
            Sqlstr = "SELECT * FROM DEV_CorrelationSort  where  sortcode='" & 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
            Cxnrrec.Close
        End If
        Bclrsj = True
        Exit Function
    End With
 
Err_bc:
   
    Tsxx = "存盘过程中出现错误,请退出后重新进入!"
    If Err.Number = -2147217900 Then
        Tsxx = "编码不能重复"
    End If
     
    Call Xtxxts(Tsxx, 0, 1)
    Exit Function

End Function

Private Sub Cshlrxx(lrztxx As Integer)              '初始化录入字段信息
    
    If lrztxx = 1 Then
        For jsqte = 0 To Max_Text_Index
            If Len(Trim(Textstr(jsqte, 1))) <> 0 Then
                TextChangeLock = True
                LrText(jsqte).Text = ""
                LrText(jsqte).Tag = ""
                TextChangeLock = False
            End If
            TextValiJudgeLock(jsqte) = True
        Next jsqte
    Else
        With CzxsGrid
            Label_Name.Caption = Trim(.TextMatrix(.Row, Sydz("002", GridStr(), Szzls)))
            LrText(0).Text = Trim(.TextMatrix(.Row, Sydz("001", GridStr(), Szzls)))         '类别编码
            LrText(1).Text = Trim(.TextMatrix(.Row, Sydz("002", GridStr(), Szzls)))         '类别名称
        End With
    End If

End Sub

Private Sub Scdqjl()                 '删 除 当 前 记 录
  
    Dim Yhanswer As Integer
    If Not Security_Log("Dev_ItemSortSetEdit", Xtczybm, 1, True) Then
        Exit Sub
    End If
    If Trim(CzxsGrid.TextMatrix(CzxsGrid.Row, Sydz("003", GridStr(), Szzls))) = True Then
        MsgBox "此项为固定项不能删除! ", 32
        Exit Sub
    End If
    If CzxsGrid.Row < CzxsGrid.FixedRows Then
        Exit Sub
    End If
    Tsxx = "请确认是否删除当前记录?"
    Yhanswer = Xtxxts(Tsxx, 2, 2)
    If Yhanswer = 2 Then
        Exit Sub
    End If
    
    On Error GoTo Cwcl
  
    '[以下需自定义部分
    Cw_DataEnvi.DataConnect.Execute "delete DEV_CorrelationSort where Sortcode = '" + Trim(CzxsGrid.TextMatrix(CzxsGrid.Row, Sydz("001", GridStr(), Szzls))) + "'"
    '以上为自定义部分]
    
    CzxsGrid.RemoveItem CzxsGrid.Row
    Exit Sub
Cwcl:
    If Err.Number = -2147217900 Then
        Tsxx = "该编码已经被使用,不能删除!"
        Call Xtxxts(Tsxx, 0, 1)
        Exit Sub
    Else
        Tsxx = "出现未知情况,该编码不能被删除!"
        Call Xtxxts(Tsxx, 0, 1)
        Exit Sub
    End If

End Sub

'******************以下为基本处理程序(固定不变)************************'

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)        '支持热键操作
    
    If Shift = 2 Then
        Select Case UCase(Chr(KeyCode))

⌨️ 快捷键说明

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