上传用户:zhpu1995
上传日期:2013-09-06
资源大小:61151k
文件大小:18k
源码类别:

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{BEEECC20-4D5F-4F8B-BFDC-5D9B6FBDE09D}#1.0#0"; "vsflex8.ocx"
  3. Begin VB.Form XT_ItemHelp 
  4.    BorderStyle     =   3  'Fixed Dialog
  5.    Caption         =   "核算项目编码参照表"
  6.    ClientHeight    =   6015
  7.    ClientLeft      =   2925
  8.    ClientTop       =   2520
  9.    ClientWidth     =   6435
  10.    Icon            =   "系统_项目编码参照.frx":0000
  11.    LinkTopic       =   "Form1"
  12.    MaxButton       =   0   'False
  13.    MinButton       =   0   'False
  14.    ScaleHeight     =   6015
  15.    ScaleWidth      =   6435
  16.    ShowInTaskbar   =   0   'False
  17.    Begin VSFlex8Ctl.VSFlexGrid CzxsGrid 
  18.       Height          =   5040
  19.       Left            =   0
  20.       TabIndex        =   4
  21.       Top             =   525
  22.       Width           =   6390
  23.       _cx             =   11271
  24.       _cy             =   8890
  25.       Appearance      =   1
  26.       BorderStyle     =   1
  27.       Enabled         =   -1  'True
  28.       BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  29.          Name            =   "宋体"
  30.          Size            =   9
  31.          Charset         =   134
  32.          Weight          =   400
  33.          Underline       =   0   'False
  34.          Italic          =   0   'False
  35.          Strikethrough   =   0   'False
  36.       EndProperty
  37.       MousePointer    =   0
  38.       BackColor       =   -2147483643
  39.       ForeColor       =   -2147483640
  40.       BackColorFixed  =   -2147483633
  41.       ForeColorFixed  =   -2147483630
  42.       BackColorSel    =   -2147483635
  43.       ForeColorSel    =   -2147483634
  44.       BackColorBkg    =   -2147483636
  45.       BackColorAlternate=   -2147483643
  46.       GridColor       =   -2147483633
  47.       GridColorFixed  =   -2147483632
  48.       TreeColor       =   -2147483632
  49.       FloodColor      =   192
  50.       SheetBorder     =   -2147483642
  51.       FocusRect       =   1
  52.       HighLight       =   1
  53.       AllowSelection  =   -1  'True
  54.       AllowBigSelection=   -1  'True
  55.       AllowUserResizing=   0
  56.       SelectionMode   =   0
  57.       GridLines       =   1
  58.       GridLinesFixed  =   2
  59.       GridLineWidth   =   1
  60.       Rows            =   50
  61.       Cols            =   10
  62.       FixedRows       =   1
  63.       FixedCols       =   1
  64.       RowHeightMin    =   0
  65.       RowHeightMax    =   0
  66.       ColWidthMin     =   0
  67.       ColWidthMax     =   0
  68.       ExtendLastCol   =   0   'False
  69.       FormatString    =   ""
  70.       ScrollTrack     =   0   'False
  71.       ScrollBars      =   3
  72.       ScrollTips      =   0   'False
  73.       MergeCells      =   0
  74.       MergeCompare    =   0
  75.       AutoResize      =   -1  'True
  76.       AutoSizeMode    =   0
  77.       AutoSearch      =   0
  78.       AutoSearchDelay =   2
  79.       MultiTotals     =   -1  'True
  80.       SubtotalPosition=   1
  81.       OutlineBar      =   0
  82.       OutlineCol      =   0
  83.       Ellipsis        =   0
  84.       ExplorerBar     =   0
  85.       PicturesOver    =   0   'False
  86.       FillStyle       =   0
  87.       RightToLeft     =   0   'False
  88.       PictureType     =   0
  89.       TabBehavior     =   0
  90.       OwnerDraw       =   0
  91.       Editable        =   0
  92.       ShowComboButton =   1
  93.       WordWrap        =   0   'False
  94.       TextStyle       =   0
  95.       TextStyleFixed  =   0
  96.       OleDragMode     =   0
  97.       OleDropMode     =   0
  98.       DataMode        =   0
  99.       VirtualData     =   -1  'True
  100.       DataMember      =   ""
  101.       ComboSearch     =   3
  102.       AutoSizeMouse   =   -1  'True
  103.       FrozenRows      =   0
  104.       FrozenCols      =   0
  105.       AllowUserFreezing=   0
  106.       BackColorFrozen =   0
  107.       ForeColorFrozen =   0
  108.       WallPaperAlignment=   9
  109.       AccessibleName  =   ""
  110.       AccessibleDescription=   ""
  111.       AccessibleValue =   ""
  112.       AccessibleRole  =   24
  113.    End
  114.    Begin VB.TextBox CodeText 
  115.       Height          =   300
  116.       Left            =   1020
  117.       TabIndex        =   0
  118.       Top             =   150
  119.       Width           =   5355
  120.    End
  121.    Begin VB.CommandButton QxCommand 
  122.       Cancel          =   -1  'True
  123.       Caption         =   "取消(&C)"
  124.       Height          =   300
  125.       Left            =   5220
  126.       TabIndex        =   2
  127.       Top             =   5580
  128.       Width           =   1120
  129.    End
  130.    Begin VB.CommandButton QdCommand 
  131.       Caption         =   "确定(&O)"
  132.       Default         =   -1  'True
  133.       Height          =   300
  134.       Left            =   4050
  135.       TabIndex        =   1
  136.       Top             =   5580
  137.       Width           =   1120
  138.    End
  139.    Begin VB.Label Label1 
  140.       BackColor       =   &H00C0C0C0&
  141.       BackStyle       =   0  'Transparent
  142.       Caption         =   "编码或名称"
  143.       Height          =   255
  144.       Index           =   0
  145.       Left            =   90
  146.       TabIndex        =   3
  147.       Top             =   210
  148.       Width           =   975
  149.    End
  150. End
  151. Attribute VB_Name = "XT_ItemHelp"
  152. Attribute VB_GlobalNameSpace = False
  153. Attribute VB_Creatable = False
  154. Attribute VB_PredeclaredId = True
  155. Attribute VB_Exposed = False
  156. '**************************************************************************
  157. '*    模 块 名 称 :核算项目编码参照
  158. '*    功 能 描 述 :
  159. '*    程序员姓名  : 张建忠
  160. '*    最后修改人  : 张建忠
  161. '*    最后修改时间:2000/09/11
  162. '*    备        注:
  163. '*    使用说明: Xtcdcs 用来传递用户输入内容; xtbmczdm 用来传递所选编码参照
  164. '                xtfhcs 用来返回用户所选编码; xtfhcsfz 用来返回用户所选名称
  165. '**************************************************************************
  166. Dim Cznr As String                       '网格首次进入查找内容
  167. Dim Str_ClassCode As String              '项目分类编码
  168.  '以下为固定使用变量
  169. Dim Cxnrrec As New ADODB.Recordset       '显示查询内容动态集
  170. Dim GridCode As String                   '显示网格网格代码
  171. Dim GridInf() As Variant                 '整个网格设置信息
  172. Dim Tsxx As String                       '系统提示信息
  173. Dim Qslz As Long                         '网格隐藏(非操作显示)列数
  174. Dim Sjhgd As Double                      '网格数据行高度
  175. Dim GridBoolean() As Boolean             '网格列信息(布尔型)
  176. Dim GridStr()  As String                 '网格列信息(字符型)
  177. Dim GridInt() As Integer                 '网格列信息(整型)
  178. Dim Szzls As Integer                     '数组总列数(网格列数-1)
  179. Private Sub CodeText_Change()            '用户可模糊定位编码或名称信息
  180.   Dim DwRow As Long
  181.   Dim Lng_BmCol As Long
  182.   Dim Lng_McCol As Long
  183.   
  184.   On Error Resume Next
  185.   Lng_BmCol = Sydz("001", GridStr(), Szzls)
  186.   Lng_McCol = Sydz("002", GridStr(), Szzls)
  187.   Cznr = Trim(CodeText.Text)
  188.   With CzxsGrid
  189.     For DwRow = .FixedRows To .Rows - 1
  190.         If Mid(.TextMatrix(DwRow, Lng_BmCol), 1, Len(Cznr)) = Cznr Then
  191.            .Row = DwRow
  192.            .Col = Lng_BmCol
  193.            CzxsGrid.SetFocus
  194.            SendKeys "{LEFT}", True
  195.            CodeText.SetFocus
  196.            .TopRow = DwRow
  197.            Exit Sub
  198.         End If
  199.     Next DwRow
  200.     For DwRow = .FixedRows To .Rows - 1
  201.         If Mid(.TextMatrix(DwRow, Lng_McCol), 1, Len(Cznr)) = Cznr Then
  202.            .Row = DwRow
  203.            .Col = Lng_BmCol
  204.            CzxsGrid.SetFocus
  205.            SendKeys "{LEFT}", True
  206.            CodeText.SetFocus
  207.            .TopRow = DwRow
  208.            Exit Sub
  209.         End If
  210.     Next DwRow
  211.   End With
  212. End Sub
  213. Private Sub CzxsGrid_GotFocus()
  214.    SendKeys "{LEFT}", True
  215. End Sub
  216. Private Sub Form_Load()                             '调 入 窗 体
  217.     
  218.   '传递项目类别代码
  219.   
  220.   Str_ClassCode = Xtcdcsfz
  221.     
  222.   '调 入 网 格
  223.   GridCode = "cwzz_item"
  224.   
  225.   Call Sub_ShowGrid(CzxsGrid, GridCode, GridInf(), GridBoolean(), GridInt(), GridStr())
  226.   
  227.   Qslz = GridInf(1)
  228.   Sjhgd = GridInf(2)
  229.   Szzls = CzxsGrid.Cols - 1
  230.   
  231.   '填 充 网 格
  232.    Call Cxnrtcwg
  233.    
  234.   CodeText.Text = Trim(Xtcdcs)
  235.    
  236.  End Sub
  237. Private Sub Cxnrtcwg()                               '查 询 内 容 填 充 网 格
  238.   Dim SqlStr As String
  239.   Dim Jsqte As Long
  240.   
  241.   '查询连接串
  242.   SqlStr = "SELECT * FROM Cwzz_Item Where ItemClassCode='" & Str_ClassCode & "'and EndFlag='1' order by ItemCode"
  243.   Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(SqlStr)
  244.   With Cxnrrec
  245.      CzxsGrid.Rows = .RecordCount + CzxsGrid.FixedRows
  246.      If .EOF And .BOF Then
  247.         Exit Sub
  248.      End If
  249.      Jsqte = CzxsGrid.FixedRows
  250.      Do While Not .EOF
  251.        If Jsqte >= CzxsGrid.Rows Then
  252.           CzxsGrid.AddItem ""
  253.        End If
  254.        
  255.         Call Jltcwg(Cxnrrec, Jsqte)
  256.               
  257.         CzxsGrid.RowHeight(Jsqte) = Sjhgd
  258.         .MoveNext
  259.         Jsqte = Jsqte + 1
  260.      Loop
  261.   End With
  262. End Sub
  263. Private Sub Jltcwg(Jlbrec As ADODB.Recordset, Rowjsq As Long)                                     '记录内容填充网格
  264.     Dim Str_Fzhs As String      '辅助核算
  265.     
  266.     '[以下为自定义部分
  267.      With Jlbrec
  268.         CzxsGrid.TextMatrix(Rowjsq, Sydz("001", GridStr(), Szzls)) = Trim(.Fields("ItemCode"))
  269.         CzxsGrid.TextMatrix(Rowjsq, Sydz("002", GridStr(), Szzls)) = Trim(.Fields("ItemName") & "")
  270.         If .Fields("QuantityFlag") Then
  271.            CzxsGrid.TextMatrix(Rowjsq, Sydz("003", GridStr(), Szzls)) = "√"
  272.         End If
  273.         CzxsGrid.TextMatrix(Rowjsq, Sydz("004", GridStr(), Szzls)) = Trim(.Fields("Measure") & "")
  274.      End With
  275.     '以上为自定义部分]
  276. End Sub
  277. Private Sub CzxsGrid_DblClick()                        '用户双击网格返回当前选中编码
  278.   Call Fhxzbm
  279. End Sub
  280. Private Sub Form_Unload(Cancel As Integer)             '退出
  281.    Set Cxnrrec = Nothing
  282. End Sub
  283. Private Sub QdCommand_Click()                          '确 定
  284.   Call Fhxzbm
  285. End Sub
  286. Private Sub QxCommand_Click()                          '取 消
  287.    Xtfhcs = ""
  288.    Xtfhcsfz = ""
  289.    Unload Me
  290. End Sub
  291. Private Sub Fhxzbm()                                   '返回用户选中编码并退出
  292.   With CzxsGrid
  293.    If .Row >= .FixedRows Then
  294.       Xtfhcs = Trim(.TextMatrix(.Row, Sydz("001", GridStr(), Szzls)))
  295.       Xtfhcsfz = Trim(.TextMatrix(.Row, Sydz("002", GridStr(), Szzls)))
  296.    Else
  297.       Xtfhcs = ""
  298.       Xtfhcsfz = ""
  299.    End If
  300.   End With
  301.   Unload Me
  302. End Sub
  303. Private Sub Sub_ShowGrid(Xsgrid, Wgdmte As String, GridInf() As Variant, GridBoolean() As Boolean, GridInt() As Integer, GridStr() As String)           '标准网格初始化模块
  304.   
  305.   '过程参数为:生成网格对象名称(微软),网格参数编码,返回网格设置信息(返回整体信息)
  306.   '网格列属性(返回布尔型信息),网格列属性(返回整型信息),网格列属性(返回字符型信息)
  307.   
  308.   Dim wglbt() As String                      '网格显示列标题
  309.   Dim Wgxsls As Long                         '网格显示(主操作)列数
  310.   Dim gdls As Long                           '网格固定列数
  311.   Dim Gdhs As Long                           '网格固定行数(标题行数)
  312.   Dim Gdhgd As Double                        '网格固定行高度
  313.   Dim wglkd() As Double                      '每列默认字符个数
  314.   Dim wglzz() As Integer                     '网格列组织形式
  315.   Dim zdxsgs() As String                     '数值字段显示格式
  316.   Dim Sfhide() As Boolean                    '网格列是否隐藏
  317.   Dim Sfhxz As Boolean                       '网格列是否行选中
  318.   Dim Qslz As Long                           '网格隐藏(非操作显示)列数
  319.   Dim Sjhgd As Double                        '网格数据行高度
  320.   Dim Wglsfkydpx As Integer                  '网格列是否可移动及排序
  321.   Dim wgxsrec As New ADODB.Recordset         '网格显示动态集
  322.   
  323.   ReDim GridInf(1 To 7)                       '整个网格设置信息
  324.   Set wgxsrec = Cw_DataEnvi.DataConnect.Execute("SELECT * FROM xt_grid WHERE Grid_Code ='" + Wgdmte + "' ORDER BY ColId")
  325.   With wgxsrec
  326.    If .EOF And .BOF Then
  327.       Exit Sub
  328.    Else
  329.       .MoveFirst
  330.    End If
  331.    
  332.    Qslz = .Fields("BeginCol")                '网格隐藏(非操作显示)列数
  333.    Sjhgd = .Fields("DataRowHeight")          '网格数据行高度
  334.    
  335.    GridInf(1) = Qslz                         '起始列值
  336.    GridInf(2) = Sjhgd                        '数据行高度
  337.    GridInf(3) = .Fields("KeepDataRows")      '屏幕保持数据行数
  338.    GridInf(4) = .Fields("AssistantRows")     '辅助项网格行数(例如:合计行)
  339.    If .Fields("SaveHelpWidth_Flag") Then     '是否保留帮助宽度(字段提供帮助时,是否为按钮保留空间)
  340.       GridInf(5) = True
  341.    Else
  342.       GridInf(5) = False
  343.    End If
  344.    If .Fields("DeleteRowAsk_Flag") Then      '删除有效记录行是否提示
  345.       GridInf(6) = True
  346.    Else
  347.       GridInf(6) = False
  348.    End If
  349.    If .Fields("ShowSumGrid_Flag") Then       '是否显示合计网格
  350.       GridInf(7) = True
  351.    Else
  352.       GridInf(7) = False
  353.    End If
  354.       
  355.    Wgxsls = .RecordCount - 1                 '网格显示(主操作)列数(原.Fields("wgxsls"))
  356.    gdls = .Fields("FixCols")                 '网格固定列数
  357.    Gdhs = .Fields("FixRows")                 '网格固定行数(标题行数)
  358.    Gdhgd = .Fields("FixRowHeight")           '网格固定行高度
  359.    Wglsfkydpx = .Fields("explorerbar")       '网格列是否可移动及排序
  360.    
  361.    If .Fields("SelectRow_Flag") Then         '是否行选中
  362.       Sfhxz = True
  363.    End If
  364.    
  365.    ReDim wglbt(Gdhs - 1, Wgxsls + Qslz - 1)  '网格显示列标题
  366.    ReDim wglkd(Qslz + Wgxsls - 1)            '每列默认字符个数
  367.    ReDim zdxsgs(Qslz + Wgxsls - 1)           '数值字段标志
  368.    ReDim wglzz(Qslz + Wgxsls - 1)            '网格列组织形式
  369.    ReDim Sfhide(Qslz + Wgxsls - 1)           '网格列是否显示
  370.    ReDim GridBoolean(Qslz + Wgxsls - 1, 1 To 6)   '网格列属性(布尔型)
  371.    ReDim GridStr(Qslz + Wgxsls - 1, 1 To 20)      '网格列信息(字符型)
  372.    ReDim GridInt(Qslz + Wgxsls - 1, 1 To 7)       '网格列信息(整型)
  373.    
  374.    .MoveNext
  375.    Jsqte = 0
  376.    Do While Not .EOF
  377.  
  378.     wglkd(Qslz + Jsqte) = .Fields("ColWidth")                  '网格列宽度限制
  379.     If Not IsNull(.Fields("ColTitle1")) Then
  380.       wglbt(0, Qslz + Jsqte) = Trim(.Fields("ColTitle1"))      '网格列标题1
  381.     End If
  382.     If Not IsNull(.Fields("ColTitle2")) And Gdhs = 2 Then      '网格列标题2
  383.       wglbt(1, Qslz + Jsqte) = Trim(.Fields("ColTitle2"))
  384.     End If
  385.     
  386.     If .Fields("ColFormat") Then                               '字段显示格式(千分符)
  387.       If .Fields("Text_Int_Length") <> 0 Then
  388.          zdxsgs(Qslz + Jsqte) = "#,##0." + String(.Fields("Text_deci_Length"), "0")
  389.       Else
  390.          zdxsgs(Qslz + Jsqte) = "#,##0.00"
  391.       End If
  392.       Select Case .Fields("Text_Data_Type")
  393.          Case 8   '金额
  394.            zdxsgs(Qslz + Jsqte) = "#,##0." + String(Xtjexsws, "0")
  395.          Case 9   '数量
  396.            zdxsgs(Qslz + Jsqte) = "#,##0." + String(Xtslxsws, "0")
  397.          Case 10  '单价
  398.            zdxsgs(Qslz + Jsqte) = "#,##0." + String(Xtdjxsws, "0")
  399.       End Select
  400.     Else
  401.       If .Fields("Text_Int_Length") <> 0 Then
  402.          zdxsgs(Qslz + Jsqte) = "##0." + String(.Fields("Text_deci_Length"), "0")
  403.       End If
  404.     End If
  405.     
  406.     wglzz(Qslz + Jsqte) = .Fields("ColAlignment")              '网格列组织形式
  407.     If .Fields("ColHidden") Then                               '网格列是否隐藏
  408.        Sfhide(Qslz + Jsqte) = True
  409.     End If
  410.     If .Fields("Edit_Flag") Then                               '网格列是否可编辑
  411.        GridBoolean(Qslz + Jsqte, 1) = True
  412.     End If
  413.     If .Fields("Help_Flag") Then                               '网格列是否提供帮助
  414.        GridBoolean(Qslz + Jsqte, 2) = True
  415.     End If
  416.     If .Fields("Combo_Flag") Then                              '网格列是否列表框录入
  417.        GridBoolean(Qslz + Jsqte, 3) = True
  418.     End If
  419.     If .Fields("ColSum_Flag") Then                             '网格列是否合计
  420.        GridBoolean(Qslz + Jsqte, 4) = True
  421.     End If
  422.     If .Fields("Zero_Empty_Flag") Then                         '网格内容为零是否清空
  423.        GridBoolean(Qslz + Jsqte, 5) = True
  424.     End If
  425.     If .Fields("BooleanFlag") Then                             '网格列是否为布尔型
  426.        GridBoolean(Qslz + Jsqte, 6) = True
  427.     End If
  428.     If Not IsNull(.Fields("Text_Data_Type")) Then              '字段数据类型
  429.        GridInt(Qslz + Jsqte, 1) = .Fields("Text_Data_Type")
  430.     End If
  431.     If Not IsNull(.Fields("Text_Length")) Then                 '字段录入长度
  432.        GridInt(Qslz + Jsqte, 2) = .Fields("Text_Length")
  433.     End If
  434.     If Not IsNull(.Fields("Text_Int_Length")) Then             '字段整数位长度
  435.        GridInt(Qslz + Jsqte, 3) = .Fields("Text_Int_Length")
  436.     End If
  437.     If Not IsNull(.Fields("Text_Deci_Length")) Then            '字段小数位长度
  438.        GridInt(Qslz + Jsqte, 4) = .Fields("Text_Deci_Length")
  439.     End If
  440.     If Not IsNull(.Fields("NotAllowEmpty_Type")) Then          '字段不允许为空或为零
  441.        GridInt(Qslz + Jsqte, 5) = .Fields("NotAllowEmpty_Type")
  442.     End If
  443.     If Not IsNull(.Fields("Help_Type")) Then                   '帮助类型
  444.        GridInt(Qslz + Jsqte, 6) = .Fields("Help_Type")
  445.     End If
  446.     If Not IsNull(.Fields("HelpReturnValue")) Then             '帮助返回值(0-显示返回编码 1-显示返回名称)
  447.        GridInt(Qslz + Jsqte, 7) = .Fields("HelpReturnValue")
  448.     End If
  449.     GridStr(Qslz + Jsqte, 1) = Trim(.Fields("ColIndex") & "")    '网格列索引值
  450.     GridStr(Qslz + Jsqte, 2) = Trim(.Fields("EmptyMessage") & "") '字段为空提示信息
  451.     GridStr(Qslz + Jsqte, 3) = Trim(.Fields("Help_Code") & "")    '通用帮助编码
  452.     GridStr(Qslz + Jsqte, 4) = Trim(.Fields("FieldsName") & "")   '连接字段(通用帮助)
  453.     GridStr(Qslz + Jsqte, 5) = Trim(.Fields("Combo_Code") & "")   '列表框编码
  454.    
  455.     .MoveNext
  456.     Jsqte = Jsqte + 1
  457.    Loop
  458.     
  459.   End With
  460.    
  461.    '网格列组织形式
  462.    
  463.    With Xsgrid
  464.       .BackColorFixed = &H8000000F                                     '固定行背景色 ('&H80000018)
  465.       .FixedRows = Gdhs                                                '固定行数
  466.       .Rows = Gdhs
  467.       .FixedCols = gdls                                                '固定列数
  468.       .Cols = Qslz + Wgxsls
  469.       .AllowUserResizing = flexResizeBoth
  470.       .SelectionMode = flexSelectionByRow
  471.       .WordWrap = True
  472.      
  473.      '填 充 网 格 标 题
  474.      For Rowjsq = 0 To .FixedRows - 1
  475.         .MergeRow(Rowjsq) = True
  476.         .RowHeight(Rowjsq) = Gdhgd
  477.         For Coljsq = Qslzte To .Cols - 1
  478.            .TextMatrix(Rowjsq, Coljsq) = wglbt(Rowjsq, Coljsq)
  479.         Next Coljsq
  480.      Next Rowjsq
  481.      
  482.      '数 据 网 格 高 度
  483.      For Rowjsq = .FixedRows To .Rows - 1
  484.          .RowHeight(Rowjsq) = Sjhgd
  485.      Next Rowjsq
  486.      
  487.       '定 义 录 入 字 段 属 性
  488.      For Coljsq = 0 To .Cols - 1
  489.          .ColWidth(Coljsq) = wglkd(Coljsq)
  490.          .ColAlignment(Coljsq) = wglzz(Coljsq)
  491.          .FixedAlignment(Coljsq) = 4
  492.      Next Coljsq
  493.     
  494.   End With
  495. End Sub