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

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
  3. Begin VB.Form Copy_FrmData 
  4.    BorderStyle     =   3  'Fixed Dialog
  5.    Caption         =   "复制数据"
  6.    ClientHeight    =   4965
  7.    ClientLeft      =   45
  8.    ClientTop       =   330
  9.    ClientWidth     =   4035
  10.    HelpContextID   =   2213003
  11.    Icon            =   "日常处理_复制数据.frx":0000
  12.    LinkTopic       =   "Form1"
  13.    MaxButton       =   0   'False
  14.    MinButton       =   0   'False
  15.    ScaleHeight     =   4965
  16.    ScaleWidth      =   4035
  17.    ShowInTaskbar   =   0   'False
  18.    StartUpPosition =   2  '屏幕中心
  19.    Begin VB.CommandButton ComCancel 
  20.       Caption         =   "取消(&C)"
  21.       Height          =   300
  22.       Left            =   3015
  23.       TabIndex        =   4
  24.       Top             =   4575
  25.       Width           =   945
  26.    End
  27.    Begin VB.CommandButton Cmd_OK 
  28.       Caption         =   "复制(&Q)"
  29.       Height          =   300
  30.       Left            =   2040
  31.       TabIndex        =   3
  32.       Top             =   4575
  33.       Width           =   945
  34.    End
  35.    Begin VB.CommandButton Com_All 
  36.       Caption         =   "全选(&A)"
  37.       Height          =   300
  38.       Left            =   1050
  39.       TabIndex        =   2
  40.       Top             =   4575
  41.       Width           =   945
  42.    End
  43.    Begin VB.CommandButton Com_Qing 
  44.       Caption         =   "全清(&L)"
  45.       Height          =   300
  46.       Left            =   75
  47.       TabIndex        =   1
  48.       Top             =   4575
  49.       Width           =   945
  50.    End
  51.    Begin MSComctlLib.TreeView Tre_Sort 
  52.       Height          =   4395
  53.       Left            =   75
  54.       TabIndex        =   0
  55.       Top             =   105
  56.       Width           =   3885
  57.       _ExtentX        =   6853
  58.       _ExtentY        =   7752
  59.       _Version        =   393217
  60.       Style           =   7
  61.       Appearance      =   1
  62.    End
  63. End
  64. Attribute VB_Name = "Copy_FrmData"
  65. Attribute VB_GlobalNameSpace = False
  66. Attribute VB_Creatable = False
  67. Attribute VB_PredeclaredId = True
  68. Attribute VB_Exposed = False
  69. '*******************************************************
  70. '*    模 块 名 称 :复制数据
  71. '*    功 能 描 述 :将不停用、且操作员有操作权限的类别离当前会计期间最近的数据拷到当前会计期间
  72. '*    程序员姓名  :田建秀
  73. '*    最后修改人  :田建秀
  74. '*    最后修改时间:2002/01/04
  75. '*    备        注:
  76. '*******************************************************
  77. Option Explicit
  78. Dim Rsc As New ADODB.Recordset
  79. Dim Sql As String
  80. Dim nodx As Node
  81. Dim i As Integer
  82. Private Sub Com_All_Click()
  83.     With Tre_Sort
  84.         For i = 1 To .Nodes.Count
  85.             .Nodes(i).Checked = True
  86.         Next
  87.     End With
  88. End Sub
  89. Private Sub Cmd_OK_Click()
  90.     '复制数据
  91.     Dim SortId As String
  92.     Dim An As Integer
  93.     With Tre_Sort
  94.         For i = 1 To .Nodes.Count
  95.             If .Nodes(i).Checked = True Then
  96.                 An = Xtxxts("工资类别“" & Trim(.Nodes(i).Text) & "”的确需复制吗?", 1, 2)
  97.                 If An = 6 Then
  98.                     SortId = Right(Trim(.Nodes(i).Key), Len(Trim(.Nodes(i).Key)) - 1)
  99.                     Call CopyData(SortId, Trim(.Nodes(i).Text))
  100.                 End If
  101.             End If
  102.         Next
  103.         
  104.     End With
  105.     Unload Me
  106. End Sub
  107. Private Sub CopyData(SortId As String, SortName As String)
  108.     '判断这一类别是否有数据
  109.     Dim Year1 As Integer
  110.     Dim Month1 As Integer
  111.     If Rsc.State = 1 Then Rsc.Close
  112.     Sql = "select * from pm_Payroll where SortId='" & SortId & "'"
  113.     Set Rsc = Cw_DataEnvi.DataConnect.Execute(Sql)
  114.     If Rsc.EOF Then
  115.         Call Xtxxts("工资类别“" & SortName & "”在工资表中没有数据,不能复制!", 0, 1)
  116.         Exit Sub
  117.     End If
  118.     '当前会计期间是否有数据
  119.     If Rsc.State = 1 Then Rsc.Close
  120.     Sql = "select * from pm_Payroll where Sortid='" & SortId & "'" & _
  121.           " and kjyear=" & Xtyear & " and period=" & Xtmm
  122.     Set Rsc = Cw_DataEnvi.DataConnect.Execute(Sql)
  123.     If Not Rsc.EOF Then
  124.         Call Xtxxts("工资类别“" & SortName & _
  125.             "”在工资表中已有" & Xtyear & "年" & Xtmm & "月的数据,无需复制!", 0, 1)
  126.         Exit Sub
  127.     End If
  128.     '复制数据
  129.     If Rsc.State = 1 Then Rsc.Close
  130.     Sql = " select distinct KjYear,Period from PM_Payroll where SortId='" & SortId & "' order by KjYear,Period desc"
  131.     Set Rsc = Cw_DataEnvi.DataConnect.Execute(Sql)
  132.     If Not Rsc.EOF Then
  133.         Year1 = Rsc!KjYear
  134.         Month1 = Rsc!Period
  135.     End If
  136.     
  137.     On Error GoTo Err1
  138.     Cw_DataEnvi.DataConnect.BeginTrans
  139.     '建立临时表
  140.     Sql = "select * into #Pmp from PM_Payroll where SortId='" & SortId & "'" & _
  141.           " and kjyear=" & Year1 & " and Period=" & Month1
  142.     Cw_DataEnvi.DataConnect.Execute Sql
  143.     
  144.     Sql = " update #Pmp set kjYear=" & Xtyear & ", Period=" & Xtmm
  145.     Cw_DataEnvi.DataConnect.Execute Sql
  146.     '清空清空项、停用项目自动清空
  147.     If Rsc.State = 1 Then Rsc.Close
  148.     Sql = "select FieldName from PM_SortItem p inner join Rs_Items r on " & _
  149.         " p.ItemID=r.ItemID where ClearFlag=1 or HaltFlag=1"
  150.     Set Rsc = Cw_DataEnvi.DataConnect.Execute(Sql)
  151.     Sql = ""
  152.     With Rsc
  153.         If Not .EOF Then
  154.             Sql = "update #Pmp set " & Trim(!FieldName) & "=0"
  155.         
  156.             .MoveNext
  157.             Do While Not .EOF
  158.                 Sql = Sql & "," & Trim(!FieldName) & "=0"
  159.                 .MoveNext
  160.             Loop
  161.             Set Rsc = Cw_DataEnvi.DataConnect.Execute(Sql)
  162.         End If
  163.     End With
  164.       
  165.        
  166.     Sql = " insert PM_Payroll select * from #Pmp"
  167.     With Cw_DataEnvi.DataConnect
  168.         .Execute Sql
  169.         .Execute "drop table #pmp"
  170.         .CommitTrans
  171.     End With
  172.     Call Xtxxts("工资类别“" & SortName & "”复制成功!", 0, 4)
  173.     Exit Sub
  174. Err1:
  175.     Cw_DataEnvi.DataConnect.RollbackTrans
  176.     Call Xtxxts("工资类别“" & SortName & "”复制不成功!", 0, 4)
  177.     
  178. End Sub
  179. Private Sub Com_Qing_Click()
  180.     With Tre_Sort
  181.         For i = 1 To .Nodes.Count
  182.             .Nodes(i).Checked = False
  183.         Next
  184.     End With
  185. End Sub
  186. Private Sub ComCancel_Click()
  187.     Unload Me
  188. End Sub
  189. Private Sub Form_Load()
  190.     Sql = " and czybm='" & Xtczybm & "'"
  191.     Sql = "select s.sortid,sortName,DataCopy from pm_Sort s ,PM_OpeSort p " & _
  192.         " where s.sortid=p.sortid and sorthalt=0 and DataCopy=1 " & Sql
  193.     Set Rsc = Cw_DataEnvi.DataConnect.Execute(Sql)
  194.     With Tre_Sort
  195.         .Checkboxes = True
  196.         Do While Not Rsc.EOF
  197.             Set nodx = .Nodes.Add(, , "S" & Rsc!SortId, Rsc!SortName)
  198.             If Rsc!DataCopy = True Then
  199.                 nodx.Checked = True
  200.             End If
  201.             Rsc.MoveNext
  202.         Loop
  203.     End With
  204. End Sub
  205. Private Sub Form_Unload(Cancel As Integer)
  206.     Set Rsc = Nothing
  207. End Sub