?? 包裝物系統(tǒng)_通用編碼參照.frm
字號:
Call Drbmbj(Bmczdmte)
Call bmtcwg
End Sub
Private Sub Fhxzbm() '返回用戶選中編碼并退出
With CzxsGrid
If .Row >= .FixedRows Then
Xtfhcs = Trim(.TextMatrix(.Row, Sydz(Bmzdsyh, GridStr(), Szzls)))
Xtfhcsfz = Trim(.TextMatrix(.Row, Sydz(Mczdsyh, GridStr(), Szzls)))
Else
Xtfhcs = ""
Xtfhcsfz = ""
End If
End With
Unload Me
End Sub
Private Sub Drbmczsx() '讀入編碼參照表屬性
Dim Tyhelprec As New ADODB.Recordset '幫助編碼動態(tài)集
Sqlstr = "select * from xt_tyhelp where help_code='" + Bmczdmte + "'"
Set Tyhelprec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
With Tyhelprec
If Not .EOF Then
GridCode = Trim(.Fields("grid_code"))
Sqlstr = Trim(.Fields("sql_string"))
Bmzdsyh = Trim(.Fields("code_field"))
Mczdsyh = Trim(.Fields("name_field"))
If .Fields("edit_enable") Then
Bjcommand.Enabled = True
Else
Bjcommand.Enabled = False
End If
Me.Caption = Trim(.Fields("help_name"))
End If
End With
End Sub
Private Sub Sub_ShowGrid(Xsgrid, Wgdmte As String, GridInf() As Variant, GridBoolean() As Boolean, GridInt() As Integer, GridStr() As String) '標準網(wǎng)格初始化模塊
'過程參數(shù)為:生成網(wǎng)格對象名稱(微軟),網(wǎng)格參數(shù)編碼,返回網(wǎng)格設(shè)置信息(返回整體信息)
'網(wǎng)格列屬性(返回布爾型信息),網(wǎng)格列屬性(返回整型信息),網(wǎng)格列屬性(返回字符型信息)
Dim wglbt() As String '網(wǎng)格顯示列標題
Dim Wgxsls As Long '網(wǎng)格顯示(主操作)列數(shù)
Dim gdls As Long '網(wǎng)格固定列數(shù)
Dim Gdhs As Long '網(wǎng)格固定行數(shù)(標題行數(shù))
Dim Gdhgd As Double '網(wǎng)格固定行高度
Dim wglkd() As Double '每列默認字符個數(shù)
Dim wglzz() As Integer '網(wǎng)格列組織形式
Dim zdxsgs() As String '數(shù)值字段顯示格式
Dim Sfhide() As Boolean '網(wǎng)格列是否隱藏
Dim Sfhxz As Boolean '網(wǎng)格列是否行選中
Dim Qslz As Long '網(wǎng)格隱藏(非操作顯示)列數(shù)
Dim Sjhgd As Double '網(wǎng)格數(shù)據(jù)行高度
Dim Wglsfkydpx As Integer '網(wǎng)格列是否可移動及排序
Dim wgxsrec As New ADODB.Recordset '網(wǎng)格顯示動態(tài)集
ReDim GridInf(1 To 7) '整個網(wǎng)格設(shè)置信息
Set wgxsrec = Cw_DataEnvi.DataConnect.Execute("SELECT * FROM xt_grid WHERE Grid_Code ='" + Wgdmte + "' ORDER BY ColId")
With wgxsrec
If .EOF And .BOF Then
Exit Sub
Else
.MoveFirst
End If
Qslz = .Fields("BeginCol") '網(wǎng)格隱藏(非操作顯示)列數(shù)
Sjhgd = .Fields("DataRowHeight") '網(wǎng)格數(shù)據(jù)行高度
GridInf(1) = Qslz '起始列值
GridInf(2) = Sjhgd '數(shù)據(jù)行高度
GridInf(3) = .Fields("KeepDataRows") '屏幕保持數(shù)據(jù)行數(shù)
GridInf(4) = .Fields("AssistantRows") '輔助項網(wǎng)格行數(shù)(例如:合計行)
If .Fields("SaveHelpWidth_Flag") Then '是否保留幫助寬度(字段提供幫助時,是否為按鈕保留空間)
GridInf(5) = True
Else
GridInf(5) = False
End If
If .Fields("DeleteRowAsk_Flag") Then '刪除有效記錄行是否提示
GridInf(6) = True
Else
GridInf(6) = False
End If
If .Fields("ShowSumGrid_Flag") Then '是否顯示合計網(wǎng)格
GridInf(7) = True
Else
GridInf(7) = False
End If
Wgxsls = .RecordCount - 1 '網(wǎng)格顯示(主操作)列數(shù)(原.Fields("wgxsls"))
gdls = .Fields("FixCols") '網(wǎng)格固定列數(shù)
Gdhs = .Fields("FixRows") '網(wǎng)格固定行數(shù)(標題行數(shù))
Gdhgd = .Fields("FixRowHeight") '網(wǎng)格固定行高度
Wglsfkydpx = .Fields("explorerbar") '網(wǎng)格列是否可移動及排序
If .Fields("SelectRow_Flag") Then '是否行選中
Sfhxz = True
End If
ReDim wglbt(Gdhs - 1, Wgxsls + Qslz - 1) '網(wǎng)格顯示列標題
ReDim wglkd(Qslz + Wgxsls - 1) '每列默認字符個數(shù)
ReDim zdxsgs(Qslz + Wgxsls - 1) '數(shù)值字段標志
ReDim wglzz(Qslz + Wgxsls - 1) '網(wǎng)格列組織形式
ReDim Sfhide(Qslz + Wgxsls - 1) '網(wǎng)格列是否顯示
ReDim GridBoolean(Qslz + Wgxsls - 1, 1 To 6) '網(wǎng)格列屬性(布爾型)
ReDim GridStr(Qslz + Wgxsls - 1, 1 To 20) '網(wǎng)格列信息(字符型)
ReDim GridInt(Qslz + Wgxsls - 1, 1 To 7) '網(wǎng)格列信息(整型)
.MoveNext
Jsqte = 0
Do While Not .EOF
wglkd(Qslz + Jsqte) = .Fields("ColWidth") '網(wǎng)格列寬度限制
If Not IsNull(.Fields("ColTitle1")) Then
wglbt(0, Qslz + Jsqte) = Trim(.Fields("ColTitle1")) '網(wǎng)格列標題1
End If
If Not IsNull(.Fields("ColTitle2")) And Gdhs = 2 Then '網(wǎng)格列標題2
wglbt(1, Qslz + Jsqte) = Trim(.Fields("ColTitle2"))
End If
If .Fields("ColFormat") Then '字段顯示格式(千分符)
If .Fields("Text_Int_Length") <> 0 Then
zdxsgs(Qslz + Jsqte) = "#,##0." + String(.Fields("Text_deci_Length"), "0")
Else
zdxsgs(Qslz + Jsqte) = "#,##0.00"
End If
Select Case .Fields("Text_Data_Type")
Case 8, 11 '金額
zdxsgs(Qslz + Jsqte) = "#,##0." + String(Xtjexsws, "0")
Case 9, 12 '數(shù)量
zdxsgs(Qslz + Jsqte) = "#,##0." + String(Xtslxsws, "0")
Case 10 '單價
zdxsgs(Qslz + Jsqte) = "#,##0." + String(Xtdjxsws, "0")
End Select
Else
If .Fields("Text_Int_Length") <> 0 Then
zdxsgs(Qslz + Jsqte) = "##0." + String(.Fields("Text_deci_Length"), "0")
End If
End If
wglzz(Qslz + Jsqte) = .Fields("ColAlignment") '網(wǎng)格列組織形式
If .Fields("ColHidden") Then '網(wǎng)格列是否隱藏
Sfhide(Qslz + Jsqte) = True
End If
If .Fields("Edit_Flag") Then '網(wǎng)格列是否可編輯
GridBoolean(Qslz + Jsqte, 1) = True
End If
If .Fields("Help_Flag") Then '網(wǎng)格列是否提供幫助
GridBoolean(Qslz + Jsqte, 2) = True
End If
If .Fields("Combo_Flag") Then '網(wǎng)格列是否列表框錄入
GridBoolean(Qslz + Jsqte, 3) = True
End If
If .Fields("ColSum_Flag") Then '網(wǎng)格列是否合計
GridBoolean(Qslz + Jsqte, 4) = True
End If
If .Fields("Zero_Empty_Flag") Then '網(wǎng)格內(nèi)容為零是否清空
GridBoolean(Qslz + Jsqte, 5) = True
End If
If .Fields("BooleanFlag") Then '網(wǎng)格列是否為布爾型
GridBoolean(Qslz + Jsqte, 6) = True
End If
If Not IsNull(.Fields("Text_Data_Type")) Then '字段數(shù)據(jù)類型
GridInt(Qslz + Jsqte, 1) = .Fields("Text_Data_Type")
End If
If Not IsNull(.Fields("Text_Length")) Then '字段錄入長度
GridInt(Qslz + Jsqte, 2) = .Fields("Text_Length")
End If
If Not IsNull(.Fields("Text_Int_Length")) Then '字段整數(shù)位長度
GridInt(Qslz + Jsqte, 3) = .Fields("Text_Int_Length")
End If
If Not IsNull(.Fields("Text_Deci_Length")) Then '字段小數(shù)位長度
GridInt(Qslz + Jsqte, 4) = .Fields("Text_Deci_Length")
End If
If Not IsNull(.Fields("NotAllowEmpty_Type")) Then '字段不允許為空或為零
GridInt(Qslz + Jsqte, 5) = .Fields("NotAllowEmpty_Type")
End If
If Not IsNull(.Fields("Help_Type")) Then '幫助類型
GridInt(Qslz + Jsqte, 6) = .Fields("Help_Type")
End If
If Not IsNull(.Fields("HelpReturnValue")) Then '幫助返回值(0-顯示返回編碼 1-顯示返回名稱)
GridInt(Qslz + Jsqte, 7) = .Fields("HelpReturnValue")
End If
GridStr(Qslz + Jsqte, 1) = Trim(.Fields("ColIndex") & "") '網(wǎng)格列索引值
GridStr(Qslz + Jsqte, 2) = Trim(.Fields("EmptyMessage") & "") '字段為空提示信息
GridStr(Qslz + Jsqte, 3) = Trim(.Fields("Help_Code") & "") '通用幫助編碼
GridStr(Qslz + Jsqte, 4) = Trim(.Fields("FieldsName") & "") '連接字段(通用幫助)
GridStr(Qslz + Jsqte, 5) = Trim(.Fields("Combo_Code") & "") '列表框編碼
.MoveNext
Jsqte = Jsqte + 1
Loop
End With
'網(wǎng)格列組織形式
With Xsgrid
.BackColorFixed = &H8000000F '固定行背景色 ('&H80000018)
.FixedRows = Gdhs '固定行數(shù)
.Rows = Gdhs
.FixedCols = gdls '固定列數(shù)
.Cols = Qslz + Wgxsls
.AllowUserResizing = flexResizeBoth
.SelectionMode = flexSelectionByRow
.WordWrap = True
'填 充 網(wǎng) 格 標 題
For Rowjsq = 0 To .FixedRows - 1
.MergeRow(Rowjsq) = True
.RowHeight(Rowjsq) = Gdhgd
For Coljsq = Qslzte To .Cols - 1
.TextMatrix(Rowjsq, Coljsq) = wglbt(Rowjsq, Coljsq)
Next Coljsq
Next Rowjsq
'數(shù) 據(jù) 網(wǎng) 格 高 度
For Rowjsq = .FixedRows To .Rows - 1
.RowHeight(Rowjsq) = Sjhgd
Next Rowjsq
'定 義 錄 入 字 段 屬 性
For Coljsq = 0 To .Cols - 1
.ColWidth(Coljsq) = wglkd(Coljsq)
.ColAlignment(Coljsq) = wglzz(Coljsq)
.FixedAlignment(Coljsq) = 4
If GridBoolean(Coljsq, 6) Then
.ColDataType(Coljsq) = flexDTBoolean
End If
Next Coljsq
End With
End Sub
Private Sub Bcwggs1(Bcgsgrid, Wggsdm As String) '保存網(wǎng)格格式(包括網(wǎng)格列寬,網(wǎng)格列順序)
'過程參數(shù):保存格式網(wǎng)格對象,網(wǎng)格格式代碼(網(wǎng)格參數(shù))
Dim Cxsjbrec As New ADODB.Recordset
Dim Qslzte As Integer
Dim Tsxx As String
Cw_DataEnvi.DataConnect.BeginTrans
On Error GoTo Swcwcl
If Cxsjbrec.State = 1 Then Cxsjbrec.Close
Cxsjbrec.Open "select * from xt_grid where Grid_Code='" + Trim(Wggsdm) + "' order by ColId", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
With Cxsjbrec
If Not .EOF Then
Qslzte = .Fields("BeginCol")
.MoveNext
End If
Do While Not .EOF
For Jsqte = Qslzte To Bcgsgrid.Cols - 1
If Bcgsgrid.FixedRows = 1 Then
If Trim(.Fields("ColTitle1")) = Trim(Bcgsgrid.TextMatrix(0, Jsqte)) Then
Exit For
End If
Else
If Trim(.Fields("ColTitle1")) = Trim(Bcgsgrid.TextMatrix(0, Jsqte)) And Trim(.Fields("ColTitle2")) = Trim(Bcgsgrid.TextMatrix(1, Jsqte)) Then
Exit For
End If
End If
Next Jsqte
If Jsqte <= Bcgsgrid.Cols - 1 Then
.Fields("ColId") = Jsqte - Qslzte + 1
.Fields("ColWidth") = Bcgsgrid.ColWidth(Jsqte)
.Update
Else
GoTo Swcwcl
End If
.MoveNext
Loop
End With
Cw_DataEnvi.DataConnect.CommitTrans
Tsxx = "表格格式保存完畢!"
Call Xtxxts(Tsxx, 0, 4)
Exit Sub
Swcwcl:
Cw_DataEnvi.DataConnect.RollbackTrans
Tsxx = "存盤過程中出現(xiàn)未知錯誤,程序自動恢復(fù)保存前狀態(tài)!"
Call Xtxxts(Tsxx, 0, 1)
Exit Sub
End Sub
Private Sub Hfmrgs1(Bcgsgrid, Wggsdm As String) '恢復(fù)網(wǎng)格默認列寬
'過程參數(shù):保存格式網(wǎng)格對象,網(wǎng)格格式代碼(網(wǎng)格參數(shù))
Dim Cxsjbrec As New ADODB.Recordset '查詢數(shù)據(jù)表動態(tài)集
Dim Qslzte As Integer
Dim Tsxx As String
Cw_DataEnvi.DataConnect.BeginTrans
If Cxsjbrec.State = 1 Then Cxsjbrec.Close
Cxsjbrec.Open "select * from xt_grid where Grid_Code='" + Trim(Wggsdm) + "' order by ColId", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
On Error GoTo Swcwcl
With Cxsjbrec
If Not .EOF Then
Qslzte = .Fields("BeginCol")
.MoveNext
End If
Do While Not .EOF
For Jsqte = Qslzte To Bcgsgrid.Cols - 1
If Bcgsgrid.FixedRows = 1 Then
If Trim(.Fields("ColTitle1")) = Trim(Bcgsgrid.TextMatrix(0, Jsqte)) Then
Exit For
End If
Else
If Trim(.Fields("ColTitle1")) = Trim(Bcgsgrid.TextMatrix(0, Jsqte)) And Trim(.Fields("ColTitle2")) = Trim(Bcgsgrid.TextMatrix(1, Jsqte)) Then
Exit For
End If
End If
Next Jsqte
If Jsqte <= Bcgsgrid.Cols - 1 Then
Bcgsgrid.ColWidth(Jsqte) = .Fields("DefaultColWidth")
.Fields("ColWidth") = .Fields("DefaultColWidth") + 0
.Update
End If
.MoveNext
Loop
End With
Cw_DataEnvi.DataConnect.CommitTrans
Exit Sub
Swcwcl:
Cw_DataEnvi.DataConnect.RollbackTrans
Tsxx = "恢復(fù)過程中出現(xiàn)未知錯誤,程序自動恢復(fù)保存前狀態(tài)!"
Call Xtxxts(Tsxx, 0, 1)
Exit Sub
End Sub
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -