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

企业管理

开发平台:

Visual Basic

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4.   Persistable = 0  'NotPersistable
  5.   DataBindingBehavior = 0  'vbNone
  6.   DataSourceBehavior  = 0  'vbNone
  7.   MTSTransactionMode  = 0  'NotAnMTSObject
  8. END
  9. Attribute VB_Name = "Rs_Class"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. Option Explicit
  15. Public Function RS_cipher(Text As String, length As Integer)
  16. Dim i As Integer
  17. For i = 0 To length
  18.     If Len(Text) >= length Then Exit For Else Text = "0" & Text
  19. Next i
  20. RS_cipher = Text
  21. End Function
  22. Public Sub Rec_Close(Rec As Recordset)
  23. If Rec.State = 1 Then
  24. P_RecordCount = 0
  25. P_RecordCount = Rec.RecordCount
  26. Rec.Close
  27. End If
  28. Set Rec = Nothing
  29. End Sub
  30. Public Sub ComBo_AddList(Com As ComboBox, Str As String)   '添加Combox
  31. Dim aDo_Com As New Recordset
  32. Dim i As Integer
  33. Dim Ssql As String
  34. If Str <> "部门" Then
  35. Ssql = "select * from RsT_CorrelationSort A,RsT_CorrelationList B where " _
  36.      & "A.SortID=b.SortID and A.SortName='" & Trim(Str) & "' order by B.ListID"
  37. Else
  38. Ssql = "select * from Gy_Department where StopUse='0'"
  39. End If
  40. Set aDo_Com = Conn_RS.Execute(Ssql)
  41. i = 1
  42. Com.Clear
  43. Com.AddItem ""
  44. Com.ItemData(0) = 0
  45. If Str = "部门" Then
  46. ReDim Dept_Code(aDo_Com.RecordCount + 1)
  47. End If
  48. Do While Not aDo_Com.EOF
  49.    If Str <> "部门" Then
  50.     Com.AddItem Trim(aDo_Com!Listname)
  51.     Com.ItemData(i) = aDo_Com!ListID
  52.     Else
  53.     Com.AddItem Trim(aDo_Com!deptname)
  54.     Dept_Code(i) = Trim(aDo_Com!deptcode)
  55.    End If
  56.     i = i + 1
  57.     aDo_Com.MoveNext
  58. Loop
  59. Class_Rs.Rec_Close aDo_Com
  60. End Sub
  61. Public Function Help_Str(Str As String, tf As Boolean) As String  '截点前、点后
  62.     Dim i As Integer
  63.     Str = Trim(Str)
  64.     For i = 1 To Len(Str)
  65.       If Mid(Str, i, 1) = "." Then Exit For
  66.     Next i
  67.     
  68.     If tf = True Then
  69.        Help_Str = Mid(Str, 1, i - 1)
  70.        Else
  71.        If i = Len(Str) + 1 Then
  72.           Help_Str = "0"
  73.           Else
  74.           Help_Str = Mid(Str, i + 1, Len(Str))
  75.        End If
  76.     End If
  77. End Function
  78. Public Function Rows_int(Str As String, StrText As String)   '查找记录的条数
  79. Dim aDo_Rec As New Recordset
  80. Dim Ssql As String
  81. Select Case Trim(Str)
  82.        Case "部门"
  83.        
  84.        Ssql = "select * from Gy_Department where DepTName='" & StrText & "'"
  85.        Case "岗位"
  86.        Ssql = "select * from RsT_EmpolyeeGroup where Name='" & StrText & "'"
  87.        Case Else
  88.        
  89.       Ssql = "select * from RsT_CorrelationSort A,RsT_CorrelationList B where " _
  90.              & "A.SortID=b.SortID and A.SortName='" & Trim(Str) & "' and listname='" & Trim(StrText) & "'"
  91. End Select
  92.  Set aDo_Rec = Conn_RS.Execute(Ssql)
  93. Rows_int = aDo_Rec.RecordCount
  94. '--------------------------------
  95. If Rows_int < 1 Then
  96.     Select Case Trim(Str)
  97.            Case "部门"
  98.            
  99.            Ssql = "select * from Gy_Department where DepTCode='" & StrText & "'"
  100.            Case "岗位"
  101.            Ssql = "select * from RsT_EmpolyeeGroup where code='" & StrText & "'"
  102.            
  103.            Case Else
  104.            
  105.           Ssql = "select * from RsT_CorrelationSort A,RsT_CorrelationList B where " _
  106.                  & "A.SortID=b.SortID and A.SortName='" & Trim(Str) & "' and listID=" & Val(StrText)
  107.     End Select
  108.  Set aDo_Rec = Conn_RS.Execute(Ssql)
  109.  Rows_int = aDo_Rec.RecordCount
  110.  
  111. End If
  112. If Rows_int > 0 Then
  113.   Select Case Str
  114.          Case "岗位"
  115.             P_Name = aDo_Rec!Name
  116.             P_Code = aDo_Rec!code
  117.           Case "部门"
  118.             P_Name = aDo_Rec!deptname
  119.             P_Code = aDo_Rec!deptcode
  120.          Case Else
  121.             P_Name = aDo_Rec!Listname
  122.             P_Code = aDo_Rec!ListID
  123.   End Select
  124. End If
  125. Class_Rs.Rec_Close aDo_Rec
  126. End Function
  127. Public Function setPicture(ByVal rs As ADODB.Recordset, ByVal Employee_ID As String, i As Integer)
  128.   ' note: this requires the record to already exist - it will insert the
  129.   ' picture at the current position in the recordset
  130.   ' Returns true if success - false otherwise
  131.   Const BlockSize = 150000
  132.   Dim ByteData() As Byte   'Byte array for Blob data.
  133.   Dim SourceFile As Integer
  134.   Dim FileLength As Long
  135.   Dim Numblocks As Integer
  136.   Dim LeftOver As Long: Dim S As Integer
  137.  ' On Error GoTo Line1
  138.   
  139. With EmployeeInfo.vsFlexGrid1(2)
  140.   ' Save Picture image to the table column.
  141.   SourceFile = FreeFile
  142.   
  143.   Open .TextMatrix(i, 4) For Binary Access Read As SourceFile
  144.   FileLength = LOF(SourceFile)  ' Get the length of the file.
  145.   If FileLength = 0 Then
  146.     Close SourceFile
  147.     setPicture = False
  148.     Exit Function
  149.   Else
  150.     Numblocks = FileLength / BlockSize
  151.     LeftOver = FileLength Mod BlockSize
  152.     ReDim ByteData(LeftOver)
  153.     rs.AddNew
  154.     rs!MapID = .TextMatrix(i, 0)
  155.     rs!MapName = .TextMatrix(i, 1)
  156.     rs!EmployeeID = Employee_ID
  157.     
  158.     Get SourceFile, , ByteData()
  159.     rs("Map").AppendChunk ByteData()
  160.     ReDim ByteData(BlockSize)
  161.     For S = 1 To Numblocks
  162.       Get SourceFile, , ByteData()
  163.       rs("Map").AppendChunk ByteData()
  164.     Next S
  165.     rs.Update   'Commit the new data.
  166.     Close SourceFile
  167.     setPicture = True
  168.   End If
  169.   
  170. End With
  171. Line1:
  172. End Function
  173. '
  174. Public Function getPicture(strPicField As String, ByVal rs As ADODB.Recordset, M As Integer) As Boolean
  175.   Const BlockSize = 150000
  176.   Dim ByteData() As Byte   'Byte array for picture file.
  177.   Dim DestFileNum As Integer
  178.   Dim DiskFile As String
  179.   Dim FileLength As Long
  180.   Dim Numblocks As Integer
  181.   Dim LeftOver As Long
  182.   Dim i As Integer
  183.  ' On Error GoTo Line1
  184.   ' Remove any existing destination file.
  185.   DiskFile = App.Path & "" & M & "temp.bmp"
  186.   If Len(Dir$(DiskFile)) > 0 Then
  187.      Kill DiskFile
  188.   End If
  189.   DestFileNum = FreeFile
  190.   FileLength = rs(strPicField).ActualSize
  191.   Open DiskFile For Binary As DestFileNum
  192.   Numblocks = FileLength / BlockSize
  193.   LeftOver = FileLength Mod BlockSize
  194.   rs.Move 0, adBookmarkCurrent
  195.   ByteData() = rs(strPicField).GetChunk(LeftOver)
  196.   Put DestFileNum, , ByteData()
  197.   For i = 1 To Numblocks - 1
  198.       ByteData() = rs(strPicField).GetChunk(BlockSize)
  199.       Put DestFileNum, , ByteData()
  200.   Next i
  201.   Close DestFileNum
  202. '  Set getPicture = LoadPicture(App.Path & "temp.bmp")
  203.   getPicture = True
  204. Line1:
  205. End Function
  206. '
  207. Public Sub Enployeeinfo_Query(Ssql_2 As String)
  208. 'Dim aDo_Reco As New Recordset
  209. 'Dim aDo_Item As New Recordset
  210. 'Dim h As Integer: Dim c As Integer
  211. 'Dim Str_Field As String
  212. 'Dim ssql_1 As String
  213. 'ssql_1 = Ssql_2
  214. 'If ssql_1 = "" Then
  215. 'ssql_1 = "select * from RsV_EmployeeBasicInfo"
  216. 'Else
  217. 'ssql_1 = "select * from RsV_EmployeeBasicInfo a where " & ssql_1
  218. 'End If
  219. '
  220. 'Set aDo_Reco = Conn_RS.Execute(ssql_1)
  221. 'Set aDo_Item = Conn_RS.Execute("select * from RsT_Item where ISID=1 and YNShow='1' order by tab")
  222. 'With Q_EnployeeInfo.vsFlexGrid1
  223. '
  224. '
  225. '    c = 1: h = 1
  226. '    .Rows = aDo_Reco.RecordCount + 1
  227. '
  228. '
  229. '    Do While Not aDo_Item.EOF
  230. '
  231. '      Str_Field = Str_Field & "^" & aDo_Item!ItemChineseName & "|"
  232. '      aDo_Item.MoveNext
  233. '    Loop
  234. '    .Clear
  235. '    .FormatString = "<编号  |" & Str_Field
  236. '    .Cols = .Cols - 1
  237. '    aDo_Item.MoveFirst
  238. '
  239. '
  240. '    Do While Not aDo_Reco.EOF
  241. '
  242. '             Do While Not aDo_Item.EOF
  243. '              If aDo_Item!yncode = 1 Then
  244. '                .TextMatrix(h, c) = Trim("" & aDo_Reco("N_" & Trim(aDo_Item!ItemFieldName)))
  245. '                Else
  246. '               .TextMatrix(h, c) = Trim("" & aDo_Reco(Trim(aDo_Item!ItemFieldName)))
  247. '              End If
  248. '               c = c + 1
  249. '               aDo_Item.MoveNext
  250. '             Loop
  251. '              .TextMatrix(h, 0) = h
  252. '             aDo_Item.MoveFirst
  253. '             c = 1
  254. '             h = h + 1
  255. '    aDo_Reco.MoveNext
  256. '    Loop
  257. '    aDo_Item.MoveFirst
  258. '
  259. '    c = 1
  260. '    Do While Not aDo_Item.EOF
  261. '      .ColWidth(c) = aDo_Item!Width
  262. '      aDo_Item.MoveNext
  263. '     c = c + 1
  264. '    Loop
  265. '
  266. '
  267. 'End With
  268. '
  269. 'Class_Rs.Rec_Close aDo_Reco
  270. 'Class_Rs.Rec_Close aDo_Item
  271. 'End Sub
  272. '
  273. '
  274. '
  275. '
  276. '
  277. '
  278. '
  279. '
  280. 'End With
  281. End Sub
  282. Public Sub Print_EnployeeInfo()   '打印
  283.  
  284. Dim Max_y As Integer
  285. With DY_Tybbyldy.Tydy
  286.         '-----------------
  287.         .X1 = 0: .Y1 = 0: .X2 = 0: .Y2 = 0
  288.     
  289.         '-----------------
  290. '     .StartDoc
  291. '     .CurrentX = "3.5in"
  292. '     .FontName = "宋体": .FontBold = True
  293. '     .FontSize = 14
  294. '     DY_Tybbyldy.Tydy = "人事档案"
  295. '
  296. '     .FontSize = 10
  297. '     .CurrentX = "1in": .CurrentY = "1.4in"
  298. '     DY_Tybbyldy.Tydy = "基本信息:"
  299. '     .FontBold = False
  300. '     .FontSize = 10
  301.      '--------------------------
  302.       Dim r As Integer
  303.       Dim Height_Y As Integer
  304.       Height_Y = 2100
  305.       For r = 1 To frmcertificate.T_Label.Count - 1
  306.          .CurrentX = 1600 + frmcertificate.T_Label(r).Left: .CurrentY = Height_Y + frmcertificate.T_Label(r).Top
  307.          DY_Tybbyldy.Tydy = frmcertificate.T_Label(r).Caption & ":"
  308.          .CurrentX = 1600 + frmcertificate.Text_T(r).Left + 100: .CurrentY = Height_Y + frmcertificate.T_Label(r).Top
  309.          DY_Tybbyldy.Tydy = frmcertificate.Text_T(r).Text
  310.          If .CurrentY > Max_y Then Max_y = .CurrentY
  311.       Next r
  312.       
  313.       For r = 1 To frmcertificate.Label_C.Count - 1
  314.          .CurrentX = 1600 + frmcertificate.Label_C(r).Left: .CurrentY = Height_Y + frmcertificate.Label_C(r).Top
  315.          DY_Tybbyldy.Tydy = frmcertificate.Label_C(r).Caption & ":"
  316.          .CurrentX = 1600 + frmcertificate.Combo_I(r).Left + 100: .CurrentY = Height_Y + frmcertificate.Label_C(r).Top
  317.          DY_Tybbyldy.Tydy = frmcertificate.Combo_I(r).Text
  318.          If .CurrentY > Max_y Then Max_y = .CurrentY
  319.       Next r
  320.      '--------------------------
  321.      '<<<<<<<<<<<<<<<<<<<<<<<<<<<
  322.      
  323.      .FontBold = True
  324.      Max_y = Max_y + 500
  325.      .CurrentX = "1in": .CurrentY = Max_y
  326.      DY_Tybbyldy.Tydy = "教育背景:"
  327.      .FontBold = False
  328.      
  329.      '-----------------
  330.      Dim Table_w As String
  331.      Dim TableName As String
  332.      Dim TableList As String
  333.      Dim l
  334.      '--------------
  335. '     Table_w = "<+500|<+1200|<+1200|<+3000|<+1800|<+1300;"
  336. '     TableName = "编号|开始时间|结束时间|学校名称|专业|备注;"
  337. '
  338. '     For l = 1 To frmcertificate.vsFlexGrid1(0).Rows - 2
  339. '        TableList = TableList & frmcertificate.vsFlexGrid1(0).TextMatrix(l, 0) & "|" _
  340. '                   & frmcertificate.vsFlexGrid1(0).TextMatrix(l, 1) & "|" & frmcertificate.vsFlexGrid1(0).TextMatrix(l, 2) & "|" _
  341. '                   & frmcertificate.vsFlexGrid1(0).TextMatrix(l, 3) & "|" & frmcertificate.vsFlexGrid1(0).TextMatrix(l, 4) & "|" _
  342. '                   & frmcertificate.vsFlexGrid1(0).TextMatrix(l, 5) & ";"
  343. '
  344. '      Next
  345. '
  346. '     For r = l To 6
  347. '       TableList = TableList & "|||||;"
  348. '     Next r
  349. '     '---------------
  350. '    .StartTable
  351. '       .AddTable Table_w, TableName, TableList, &HE0E0E0, , False
  352. '
  353. '    .EndTable
  354. '
  355. '     '-------------------------
  356. '     .FontBold = True
  357. '     .CurrentX = "1in": .CurrentY = .CurrentY + 200
  358. '     DY_Tybbyldy.Tydy = "工作经历:"
  359. '     .FontBold = False
  360. '     '----------------
  361. '
  362. '     Table_w = "<+500|<+1200|<+1200|<+3000|<+1800|<+1300;"
  363. '     TableName = "编号|开始时间|结束时间|公司名称|职务|备注;"
  364. '     TableList = ""
  365. '     For l = 1 To frmcertificate.vsFlexGrid1(1).Rows - 2
  366. '        TableList = TableList & frmcertificate.vsFlexGrid1(1).TextMatrix(l, 0) & "|" _
  367. '                   & frmcertificate.vsFlexGrid1(1).TextMatrix(l, 1) & "|" & frmcertificate.vsFlexGrid1(1).TextMatrix(l, 2) & "|" _
  368. '                   & frmcertificate.vsFlexGrid1(1).TextMatrix(l, 3) & "|" & frmcertificate.vsFlexGrid1(1).TextMatrix(l, 4) & "|" _
  369. '                   & frmcertificate.vsFlexGrid1(1).TextMatrix(l, 5) & ";"
  370. '
  371. '      Next
  372. '
  373. '     For r = l To 6
  374. '       TableList = TableList & "|||||;"
  375. '     Next r
  376. '     '---------------
  377. '    .StartTable
  378. '       .AddTable Table_w, TableName, TableList, &HE0E0E0, , False
  379. '
  380. '    .EndTable
  381. '
  382. '     .FontBold = True
  383. '     .CurrentX = "1in": .CurrentY = .CurrentY + 200
  384. '     DY_Tybbyldy.Tydy = "图片信息:"
  385. '     .FontBold = False
  386. '     '------------------
  387. '      .CurrentX = .CurrentX + 100
  388. '     For r = 1 To frmcertificate.vsFlexGrid1(2).Rows - 2
  389. '         If frmcertificate.Image1.Height + .CurrentY > .PageHeight - 1675 Then .NewPage
  390. '
  391. '         frmcertificate.vsFlexGrid1(2).col = 3
  392. '         frmcertificate.vsFlexGrid1(2).Row = r
  393. '         .CurrentY = .CurrentY + 100
  394. '
  395. '         DY_Tybbyldy.Tydy = frmcertificate.vsFlexGrid1(2).TextMatrix(r, 1)
  396. '         .CurrentX = .CurrentX + 100
  397. '         frmcertificate.Image1.Picture = frmcertificate.vsFlexGrid1(2).CellPicture
  398. '         .X1 = .CurrentX
  399. '         .Y1 = .CurrentY
  400. '         .X2 = frmcertificate.Image1.Width + .CurrentX
  401. '         .Y2 = frmcertificate.Image1.Height + .CurrentY
  402. '         .CurrentY = .CurrentY + frmcertificate.Image1.Height
  403. '
  404. '         .Picture = frmcertificate.Image1.Picture
  405. '     Next
  406. '
  407. '     '----------------
  408. '     frmcertificate.vsFlexGrid1(2).col = 1
  409.      .EndDoc
  410.      DY_Tybbyldy.Show 1
  411.  End With
  412. End Sub