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

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "mscomctl.ocx"
  3. Begin VB.Form Query_BankPay_Frm 
  4.    AutoRedraw      =   -1  'True
  5.    BorderStyle     =   3  'Fixed Dialog
  6.    Caption         =   "人员选择"
  7.    ClientHeight    =   5310
  8.    ClientLeft      =   45
  9.    ClientTop       =   330
  10.    ClientWidth     =   3585
  11.    Icon            =   "查询_银行代发.frx":0000
  12.    LinkTopic       =   "Form1"
  13.    LockControls    =   -1  'True
  14.    MaxButton       =   0   'False
  15.    MinButton       =   0   'False
  16.    ScaleHeight     =   5310
  17.    ScaleWidth      =   3585
  18.    ShowInTaskbar   =   0   'False
  19.    StartUpPosition =   1  '所有者中心
  20.    Begin VB.CommandButton Cmd_More 
  21.       Caption         =   "条件(&M)"
  22.       Height          =   300
  23.       Left            =   45
  24.       TabIndex        =   7
  25.       Top             =   4965
  26.       Width           =   1120
  27.    End
  28.    Begin VB.CommandButton Cmd_Cancel 
  29.       Cancel          =   -1  'True
  30.       Caption         =   "取消(&C)"
  31.       Height          =   300
  32.       Left            =   2370
  33.       TabIndex        =   6
  34.       Top             =   4965
  35.       Width           =   1120
  36.    End
  37.    Begin VB.CommandButton Cmd_OK 
  38.       Caption         =   "确定(&O)"
  39.       Height          =   300
  40.       Left            =   1207
  41.       TabIndex        =   5
  42.       Top             =   4965
  43.       Width           =   1120
  44.    End
  45.    Begin MSComctlLib.TreeView TV_Dept 
  46.       Height          =   3165
  47.       Left            =   75
  48.       TabIndex        =   4
  49.       Top             =   1695
  50.       Width           =   3420
  51.       _ExtentX        =   6033
  52.       _ExtentY        =   5583
  53.       _Version        =   393217
  54.       HideSelection   =   0   'False
  55.       Style           =   7
  56.       Checkboxes      =   -1  'True
  57.       Appearance      =   1
  58.    End
  59.    Begin VB.TextBox Txt_Dept 
  60.       Height          =   315
  61.       Left            =   855
  62.       TabIndex        =   3
  63.       Top             =   1275
  64.       Width           =   2655
  65.    End
  66.    Begin MSComctlLib.ImageCombo ImgCmb_Sort 
  67.       Height          =   315
  68.       Left            =   855
  69.       TabIndex        =   0
  70.       Top             =   105
  71.       Width           =   2655
  72.       _ExtentX        =   4683
  73.       _ExtentY        =   556
  74.       _Version        =   393216
  75.       ForeColor       =   -2147483640
  76.       BackColor       =   -2147483643
  77.       Locked          =   -1  'True
  78.    End
  79.    Begin MSComctlLib.ImageCombo ImgCmb_Bank 
  80.       Height          =   315
  81.       Left            =   855
  82.       TabIndex        =   1
  83.       Top             =   495
  84.       Width           =   2655
  85.       _ExtentX        =   4683
  86.       _ExtentY        =   556
  87.       _Version        =   393216
  88.       ForeColor       =   -2147483640
  89.       BackColor       =   -2147483643
  90.       Locked          =   -1  'True
  91.    End
  92.    Begin MSComctlLib.ImageCombo ImgCmb_Period 
  93.       Height          =   315
  94.       Left            =   855
  95.       TabIndex        =   2
  96.       Top             =   885
  97.       Width           =   2655
  98.       _ExtentX        =   4683
  99.       _ExtentY        =   556
  100.       _Version        =   393216
  101.       ForeColor       =   -2147483640
  102.       BackColor       =   -2147483643
  103.       Locked          =   -1  'True
  104.    End
  105.    Begin VB.Label Lab_Mark 
  106.       AutoSize        =   -1  'True
  107.       Caption         =   "部门:"
  108.       Height          =   180
  109.       Index           =   3
  110.       Left            =   60
  111.       TabIndex        =   11
  112.       Top             =   1350
  113.       Width           =   450
  114.    End
  115.    Begin VB.Label Lab_Mark 
  116.       AutoSize        =   -1  'True
  117.       Caption         =   "会计期间:"
  118.       Height          =   180
  119.       Index           =   2
  120.       Left            =   60
  121.       TabIndex        =   10
  122.       Top             =   955
  123.       Width           =   810
  124.    End
  125.    Begin VB.Label Lab_Mark 
  126.       AutoSize        =   -1  'True
  127.       Caption         =   "银行:"
  128.       Height          =   180
  129.       Index           =   1
  130.       Left            =   60
  131.       TabIndex        =   9
  132.       Top             =   560
  133.       Width           =   450
  134.    End
  135.    Begin VB.Label Lab_Mark 
  136.       AutoSize        =   -1  'True
  137.       Caption         =   "工资类别:"
  138.       Height          =   180
  139.       Index           =   0
  140.       Left            =   60
  141.       TabIndex        =   8
  142.       Top             =   165
  143.       Width           =   810
  144.    End
  145. End
  146. Attribute VB_Name = "Query_BankPay_Frm"
  147. Attribute VB_GlobalNameSpace = False
  148. Attribute VB_Creatable = False
  149. Attribute VB_PredeclaredId = True
  150. Attribute VB_Exposed = False
  151. '******************************************************************
  152. '*    模 块 名 称 :银行代发查询条件
  153. '*    功 能 描 述 :
  154. '*    程序员姓名  :苗鹏
  155. '*    最后修改人  :苗鹏
  156. '*    最后修改时间:2002/01/10
  157. '*    备        注:
  158. '******************************************************************
  159. Option Explicit
  160. Dim sSqlWhere As String
  161. Dim sSqlWhereMe As String
  162. Dim sSqlWhereMore As String
  163. Dim sSqlFrom As String
  164. Dim coll As New Collection
  165. Private Sub Cmd_Cancel_Click()
  166.     Me.Hide
  167. End Sub
  168. Private Sub Cmd_More_Click() '调用公用查询窗体显示根多条件
  169.     On Error GoTo ErrCtrl
  170.     Dim frm As New Query_Frm
  171.     With frm
  172.         Set .collTableName = coll
  173.         .Show 1
  174.         If .bChecked = True Then
  175.             sSqlWhereMore = .sSqlWhere
  176.         End If
  177.     End With
  178.     Set frm = Nothing
  179.     Exit Sub
  180. ErrCtrl:
  181.     Set frm = Nothing
  182. End Sub
  183. Private Sub Cmd_OK_Click() '获得条件
  184.     On Error GoTo ErrCtrl
  185.     
  186.     Dim i As Integer
  187.     Dim st As String
  188.     Dim s As String
  189.     Dim sSortID As String
  190.     Dim sBankCode As String
  191.     '需要查询的部门
  192.     With Me.TV_Dept
  193.         For i = 1 To .Nodes.Count
  194.             If .Nodes(i).Checked = True And .Nodes(i).Children = 0 Then
  195.                 s = s & ",'" & Trim(.Nodes(i).Tag) & "'"
  196.             End If
  197.         Next i
  198.     End With
  199.     s = Trim(s)
  200.     If s <> "" Then
  201.         s = Mid(s, 2, Len(s) - 1)
  202.          s = " PM_PayRoll.DeptCode in (" & s & ") " & Chr(10)
  203.     End If
  204.     
  205.     '初始化sSqlWhereMe
  206.     If s = "" Then
  207.         sSqlWhereMe = " where PM_PayRoll.DeptCode in (select DeptCode from PM_OpeDept where Czybm='" & Xtczybm & "') " & Chr(10) _
  208.             & " and Pm_PayRoll.SortID in (Select SortID from PM_OpeSort where Czybm='" & Xtczybm & "') " & Chr(10) _
  209.             & " and PM_SortEmp.HaltFlag=0 " & Chr(10)
  210.     Else
  211.         sSqlWhereMe = " where PM_PayRoll.DeptCode in (select DeptCode from PM_OpeDept where Czybm='" & Xtczybm & "') " & Chr(10) _
  212.         & " and Pm_PayRoll.SortID in (Select SortID from PM_OpeSort where Czybm='" & Xtczybm & "') " & Chr(10) _
  213.         & " and PM_SortEmp.HaltFlag=0 " & Chr(10) _
  214.         & " and " & s
  215.     End If
  216.     '工资类别
  217.     st = sSqlWhereMe
  218.     sSortID = GetComboKey(Me.ImgCmb_Sort, 0)
  219.     If Trim(Me.ImgCmb_Sort.Text) <> "" Then
  220.         st = st & " and PM_PayRoll.SortID='" & sSortID & "' " & Chr(10)
  221.     Else
  222.         MsgBox "请选择工资类别!", vbOKOnly + vbCritical
  223.         Exit Sub
  224.     End If
  225.     '银行
  226.     sBankCode = GetComboKey(Me.ImgCmb_Bank, 0)
  227.     If Trim(Me.ImgCmb_Bank.Text) <> "" Then
  228.         st = st & " and PM_SortEmp.BankCode='" & sBankCode & "' " & Chr(10)
  229.     Else
  230.         MsgBox "请选择银行!", vbOKOnly + vbCritical
  231.         Exit Sub
  232.     End If
  233.     '会计期间
  234.     If Trim(Me.ImgCmb_Period.Text) <> "" Then
  235.        st = st & " and PM_PayRoll.KjYear=" & Xtyear & " and PM_PayRoll.Period=" & Me.ImgCmb_Period.Text & Chr(10)
  236.     Else
  237.         MsgBox "请选择会计期间!", vbOKOnly + vbCritical
  238.         Exit Sub
  239.     End If
  240.     
  241.     '其他条件
  242.     If Trim(sSqlWhereMore) <> "" Then
  243.         st = st & " and ( " & sSqlWhereMore & " ) "
  244.     End If
  245.     
  246.     sSqlWhere = st
  247.     
  248.     '读取from语句
  249.     s = Trim(GetSQLFrom(coll, "PM_PayRoll"))
  250.     sSqlFrom = "from " & s & " inner join PM_SortEmp on PM_PayRoll.EmpID=PM_SortEmp.EmpID and PM_PayRoll.SortID=PM_SortEmp.SortID " & Chr(10)
  251.     
  252.     '查询数据
  253.     Me.Hide
  254.     With Rep_BankPay_Frm
  255.         .sSqlFrom = sSqlFrom
  256.         .sSqlWhere = sSqlWhere
  257.         .sSortID = sSortID
  258.         .sBankCode = sBankCode
  259.         .sSortName = Me.ImgCmb_Sort.Text
  260.         .sBankName = Me.ImgCmb_Bank.Text
  261.         .iPeriod = Me.ImgCmb_Period.Text
  262.         .ShowRecord .sSqlWhere, .sSqlFrom
  263.     End With
  264.     Exit Sub
  265. ErrCtrl:
  266.     Me.Hide
  267. End Sub
  268. Private Sub Form_Load()
  269.     On Error GoTo ErrCtrl
  270.     Dim i As Integer
  271.     Dim s As String
  272.     Dim rs As New ADODB.Recordset
  273.     Dim nod As ComboItem
  274.     '添加会计期间
  275.     For i = 1 To 12
  276.         Me.ImgCmb_Period.ComboItems.Add , , i
  277.     Next i
  278.     Me.ImgCmb_Bank.Locked = True
  279.     s = " select top 1 Period from GY_Kjrlb  where PMjzbz=0 order by KjYear ,Period "
  280.     Set rs = Cw_DataEnvi.DataConnect.Execute(s)
  281.     With rs
  282.         If Not .EOF() Then
  283.             Me.ImgCmb_Period.Text = !Period
  284.         Else
  285.             MsgBox "系统没有初始化,请先初始化系统!", vbOKOnly + vbCritical
  286.             rs.Close
  287.             Set rs = Nothing
  288.             Unload Me
  289.             Exit Sub
  290.         End If
  291.         rs.Close
  292.     End With
  293.     '添加工资类别
  294.     s = "select b.SortID,b.SortName from PM_OpeSort a inner join PM_Sort b on a.SortID=b.SortID where a.Czybm='" & Xtczybm & "'"
  295.     Set rs = Cw_DataEnvi.DataConnect.Execute(s)
  296.     With rs
  297.         Do While Not .EOF()
  298.             Set nod = Me.ImgCmb_Sort.ComboItems.Add(, "@" & Trim(!SortId), Trim(!SortName))
  299.             nod.Tag = !SortId
  300.             .MoveNext
  301.         Loop
  302.         .Close
  303.     End With
  304.     If Me.ImgCmb_Sort.ComboItems.Count <> 0 Then
  305.         Me.ImgCmb_Sort.ComboItems.Item(1).Selected = True
  306.     End If
  307.     
  308.     Set rs = Nothing
  309.     Set nod = Nothing
  310.     
  311.     '添加银行
  312.     FillImageCombo Me.ImgCmb_Bank, "Pm_Bank", 1
  313.     '初始化部门树
  314.     FillDept2TV "RsPmFlag", Me.TV_Dept, Cw_DataEnvi.DataConnect
  315.     Exit Sub
  316. ErrCtrl:
  317.     If rs.State = 1 Then
  318.         rs.Close
  319.     End If
  320.     Set rs = Nothing
  321.     Set nod = Nothing
  322. End Sub
  323. Private Sub ImgCmb_Bank_KeyPress(KeyAscii As Integer)
  324.     If KeyAscii = 13 Then
  325.         SendKeys "{Tab}"
  326.     End If
  327. End Sub
  328. Private Sub ImgCmb_Period_KeyPress(KeyAscii As Integer)
  329.     If KeyAscii = 13 Then
  330.         SendKeys "{Tab}"
  331.     End If
  332. End Sub
  333. Private Sub ImgCmb_Sort_KeyPress(KeyAscii As Integer)
  334.     If KeyAscii = 13 Then
  335.         SendKeys "{Tab}"
  336.     End If
  337. End Sub
  338. Private Sub TV_Dept_BeforeLabelEdit(Cancel As Integer)
  339.     Cancel = 1
  340. End Sub
  341. Private Sub TV_Dept_NodeCheck(ByVal node As MSComctlLib.node) '保持子节点与父节点同步
  342.     Dim i As Integer
  343.     With Me.TV_Dept
  344.         For i = 1 To .Nodes.Count
  345.             If .Nodes(i).Parent Is node Then
  346.                 .Nodes(i).Checked = node.Checked
  347.                 Call TV_Dept_NodeCheck(.Nodes(i))
  348.             End If
  349.         Next i
  350.     End With
  351. End Sub
  352. Private Sub Txt_Dept_Change() '根据录入内容选择打开的节点
  353.     Dim i As Integer
  354.     Dim s As String
  355.     s = Trim(Me.Txt_Dept.Text)
  356.     With Me.TV_Dept
  357.         For i = 1 To .Nodes.Count
  358.             If .Nodes(i).Tag = s Then
  359.                 .Nodes(i).EnsureVisible
  360.                 .SelectedItem = .Nodes(i)
  361.                 Exit Sub
  362.             End If
  363.         Next i
  364.     End With
  365. End Sub
  366. Private Sub Txt_Dept_KeyPress(KeyAscii As Integer) '选择节点及子节点
  367.     With Me.TV_Dept
  368.         If KeyAscii = 13 Then
  369.             If Not .SelectedItem Is Nothing Then
  370.                 .SelectedItem.Checked = Not .SelectedItem.Checked
  371.                 Call TV_Dept_NodeCheck(.SelectedItem)
  372.             End If
  373.         End If
  374.     End With
  375. End Sub