📄 设置_项目相关类别设置.frm
字号:
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 + -