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

企业管理

开发平台:

Visual Basic

  1. Attribute VB_Name = "IniModule"
  2. '数据初始化
  3. Option Explicit
  4. Dim Sql As String
  5. Dim SqlField As String
  6. Dim Rsc As New ADODB.Recordset
  7. Public Sub initializtion()
  8.     '删除工资数据表
  9.     Sql = ""
  10.     Sql = "delete pm_payroll"                       '工资表
  11.     Sql = Sql & " delete pm_AttendRecord"            '考勤表
  12.     Sql = Sql & " delete pm_OpeDept"                 '操作员部门权限
  13.     Sql = Sql & " delete pm_OpeSort"                 '操作员类别权限
  14.     Sql = Sql & " delete pm_TaxRate"                 '税率表
  15.     Sql = Sql & " delete pm_TaxData"                 '税率数据表
  16.     Sql = Sql & " delete pm_BankItem"                '银行代发项目
  17.     Sql = Sql & " delete pm_BankPara"                '银行代发路径
  18.     Sql = Sql & " delete pm_Bank"                    '银行信息
  19.     Sql = Sql & " delete pm_StandTblData"            '标准表数据
  20.     Sql = Sql & " delete pm_StandTbl"                '标准表
  21.     Sql = Sql & " delete pm_SortEmp"                 '类别人员
  22.     Sql = Sql & " delete pm_SortItem"                '类别项目
  23.     Sql = Sql & " delete pm_Sort"                    '工资类别
  24.     Sql = Sql & " delete pm_ReportItem"              '报表项目
  25.     Sql = Sql & " delete pm_Formula"                 '公式
  26.     '删除工资表、考勤表中的自定义字段,首先删除缺省值。用DropColumn函数
  27.     
  28.     '将选用的人事字段的addminusitem置0
  29.     Sql = Sql & " update rs_items set addminusitem=0 where (sid=1 or sid=2 ) and ltrim(rtrim(fieldname))<>'deptcode' and ltrim(rtrim(fieldname))<>'empsort'" & _
  30.           " and ltrim(rtrim(fieldname))<>'empno' and ltrim(rtrim(fieldname))<>'empname'"
  31.     '将rs_items的工资项目、考勤项目删除。
  32.     Sql = Sql & " delete rs_items where (sid=3 or sid =4) and ynroot=0 "
  33.     '将会计日历表复原
  34.     Sql = Sql & " update gy_kjrlb set pmjzbz=0 "
  35.     SqlField = DropColumn
  36.     On Error GoTo Err1
  37.     Cw_DataEnvi.DataConnect.BeginTrans
  38.     If Trim(SqlField) <> "" Then
  39.       Cw_DataEnvi.DataConnect.Execute SqlField
  40.     End If
  41.     Cw_DataEnvi.DataConnect.Execute Sql
  42.     Call Xtxxts("数据初始化成功!", 0, 4)
  43.     Cw_DataEnvi.DataConnect.CommitTrans
  44.     Exit Sub
  45. Err1:
  46.    Cw_DataEnvi.DataConnect.RollbackTrans
  47.    Call Xtxxts("数据初始化不成功!", 0, 1)
  48. End Sub
  49. Private Function DropColumn() As String
  50.   '删除工资表
  51.    SqlField = ""
  52.    If Rsc.State = 1 Then Rsc.Close
  53.    Set Rsc = Cw_DataEnvi.DataConnect.Execute("select * from rs_items where sid=3  and ynroot=0 ")
  54.    With Rsc
  55.      Do While Not .EOF
  56.        SqlField = SqlField & " alter table pm_Payroll drop CONSTRAINT df_" & Trim(!FieldName)
  57.        SqlField = SqlField & " alter table pm_payroll drop column " & Trim(!FieldName)
  58.        .MoveNext
  59.      Loop
  60.    End With
  61.    '删除考勤表
  62.    If Rsc.State = 1 Then Rsc.Close
  63.    Set Rsc = Cw_DataEnvi.DataConnect.Execute("select * from rs_items where sid=4 ")
  64.    With Rsc
  65.      Do While Not .EOF
  66.        SqlField = SqlField & " alter table pm_attendRecord drop CONSTRAINT df_" & Trim(!FieldName)
  67.        SqlField = SqlField & " alter table pm_attendRecord drop column " & Trim(!FieldName)
  68.        .MoveNext
  69.      Loop
  70.    End With
  71.    '删除工资表中的人事项目
  72.    If Rsc.State = 1 Then Rsc.Close
  73.    Set Rsc = Cw_DataEnvi.DataConnect.Execute("select FieldName from rs_Items where (Sid=1 or Sid=2) and addminusItem=1 and " & _
  74.            " FieldName<>'DeptCode' and FieldName<>'EmpNO' and FieldName<>'EmpName' and FieldName<>'Empsort' ")
  75.    With Rsc
  76.         Do While Not .EOF
  77.             SqlField = SqlField & " alter table PM_Payroll drop column " & Trim(Rsc!FieldName)
  78.             .MoveNext
  79.         Loop
  80.    End With
  81.    
  82.    DropColumn = SqlField
  83. End Function