frmLookMan.frm
上传用户:djzm888
上传日期:2013-02-15
资源大小:867k
文件大小:7k
源码类别:

其他数据库

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "MSFLXGRD.OCX"
  3. Begin VB.Form frmLookMan 
  4.    BorderStyle     =   3  'Fixed Dialog
  5.    Caption         =   "查找员工"
  6.    ClientHeight    =   3765
  7.    ClientLeft      =   45
  8.    ClientTop       =   330
  9.    ClientWidth     =   5940
  10.    BeginProperty Font 
  11.       Name            =   "宋体"
  12.       Size            =   10.5
  13.       Charset         =   134
  14.       Weight          =   400
  15.       Underline       =   0   'False
  16.       Italic          =   0   'False
  17.       Strikethrough   =   0   'False
  18.    EndProperty
  19.    Icon            =   "frmLookMan.frx":0000
  20.    LinkTopic       =   "Form1"
  21.    LockControls    =   -1  'True
  22.    MaxButton       =   0   'False
  23.    MinButton       =   0   'False
  24.    ScaleHeight     =   3765
  25.    ScaleWidth      =   5940
  26.    ShowInTaskbar   =   0   'False
  27.    StartUpPosition =   2  '屏幕中心
  28.    Begin MSFlexGridLib.MSFlexGrid msfGrid 
  29.       Height          =   2460
  30.       Left            =   120
  31.       TabIndex        =   6
  32.       Top             =   630
  33.       Width           =   5680
  34.       _ExtentX        =   10028
  35.       _ExtentY        =   4339
  36.       _Version        =   393216
  37.       FixedCols       =   0
  38.    End
  39.    Begin VB.CommandButton Command1 
  40.       Caption         =   "返回(&R)"
  41.       Height          =   420
  42.       Index           =   1
  43.       Left            =   4500
  44.       TabIndex        =   5
  45.       Top             =   3225
  46.       Width           =   1260
  47.    End
  48.    Begin VB.CommandButton Command1 
  49.       Caption         =   "确定(&K)"
  50.       Enabled         =   0   'False
  51.       Height          =   420
  52.       Index           =   0
  53.       Left            =   2985
  54.       TabIndex        =   4
  55.       Top             =   3225
  56.       Width           =   1260
  57.    End
  58.    Begin VB.CheckBox chkEdit 
  59.       Caption         =   "按模糊查找"
  60.       Height          =   315
  61.       Left            =   300
  62.       TabIndex        =   3
  63.       Top             =   3255
  64.       Width           =   1500
  65.    End
  66.    Begin VB.TextBox txtEdit 
  67.       Height          =   345
  68.       Left            =   1170
  69.       TabIndex        =   1
  70.       Top             =   180
  71.       Width           =   2235
  72.    End
  73.    Begin VB.Label Label1 
  74.       AutoSize        =   -1  'True
  75.       Caption         =   "(可输入拼音编号中文)"
  76.       Height          =   210
  77.       Index           =   1
  78.       Left            =   3525
  79.       TabIndex        =   2
  80.       Top             =   240
  81.       Width           =   2310
  82.    End
  83.    Begin VB.Label Label1 
  84.       AutoSize        =   -1  'True
  85.       Caption         =   "员工姓名:"
  86.       Height          =   210
  87.       Index           =   0
  88.       Left            =   180
  89.       TabIndex        =   0
  90.       Top             =   240
  91.       Width           =   945
  92.    End
  93. End
  94. Attribute VB_Name = "frmLookMan"
  95. Attribute VB_GlobalNameSpace = False
  96. Attribute VB_Creatable = False
  97. Attribute VB_PredeclaredId = True
  98. Attribute VB_Exposed = False
  99. Option Explicit
  100. 'public
  101. Public mWorkNo As String
  102. Public mName As String
  103. Public mSex As String
  104. Public mAge As String
  105. Public mDept As String
  106. Public mTitle As String
  107. Private Sub Command1_Click(Index As Integer)
  108.     With msfGrid
  109.         If Index = 0 Then
  110.             If .Rows = .FixedRows Then Exit Sub
  111.             mWorkNo = Trim(.TextMatrix(.row, 0))
  112.             mName = Trim(.TextMatrix(.row, 1))
  113.             mSex = Trim(.TextMatrix(.row, 2))
  114.             mAge = Trim(.TextMatrix(.row, 3))
  115.             mDept = Trim(.TextMatrix(.row, 4))
  116.             mTitle = Trim(.TextMatrix(.row, 5))
  117.         Else
  118.             mWorkNo = Empty
  119.             mName = Empty
  120.             mSex = Empty
  121.             mAge = Empty
  122.             mDept = Empty
  123.             mTitle = Empty
  124.         End If
  125.     End With
  126.     Me.Hide
  127. End Sub
  128. Private Sub Form_Load()
  129.     SetGridColor msfGrid
  130.     With msfGrid
  131.         .FormatString = "^工号" & Space(4) & vbTab & _
  132.              "<姓名" & Space(6) & vbTab & _
  133.              "^性别" & Space(2) & vbTab & _
  134.              "^年龄" & Space(2) & vbTab & _
  135.              "<部门" & Space(5) & vbTab & _
  136.              "<职务" & Space(5)
  137.     End With
  138. End Sub
  139. Private Sub msfGrid_DblClick()
  140.     Command1_Click 0
  141. End Sub
  142. Private Sub msfGrid_KeyDown(KeyCode As Integer, Shift As Integer)
  143.     If KeyCode = 13 Then Command1_Click 0
  144. End Sub
  145. Private Sub txtEdit_GotFocus()
  146.     GotFocus txtEdit
  147. End Sub
  148. Private Sub txtEdit_KeyDown(KeyCode As Integer, Shift As Integer)
  149.     If KeyCode = 13 Then
  150.         Dim tmpStr As String
  151.         Dim FindStr As String
  152.         Dim FindLen As Integer
  153.         Dim WhereStr As String
  154.         
  155.         FindStr = Trim(txtEdit)
  156.         FindLen = Len(FindStr)
  157.         tmpStr = Left(FindStr, 1)
  158.         
  159.         If IsNumeric(tmpStr) Then 'number
  160.             If chkEdit.Value = 1 Then
  161.                 WhereStr = " instr(1,WorkNo,'" & FindStr & "',1)>0 "
  162.             Else
  163.                 WhereStr = "left(WorkNo," & FindLen & ")='" & FindStr & "'"
  164.             End If
  165.         ElseIf AscB(RightB(tmpStr, 1)) = 0 Then 'char
  166.             If chkEdit.Value = 1 Then
  167.                 WhereStr = " instr(1,Spell,'" & FindStr & "',1)>0 "
  168.             Else
  169.                 WhereStr = "left(Spell," & FindLen & ")='" & FindStr & "'"
  170.             End If
  171.         Else 'chinese
  172.             If chkEdit.Value = 1 Then
  173.                 WhereStr = " instr(1,Name,'" & FindStr & "',1)>0 "
  174.             Else
  175.                 WhereStr = "left(Name," & LenB(FindStr) & ")='" & FindStr & "'"
  176.             End If
  177.         End If
  178.         
  179.         Dim Rst As Recordset
  180.         Dim ClipStr As String
  181.         Dim RowCount As Integer
  182.         Dim I As Integer
  183.         
  184.         Set Rst = gDataBase.OpenRecordset("select * from QryEmployee " _
  185.             & " Where " & WhereStr & " order by WorkNo", dbOpenSnapshot)
  186.         
  187.         Do While Not Rst.EOF
  188.             With Rst
  189.                 I = I + 1
  190.                 RowCount = .RecordCount
  191.                 ClipStr = ClipStr & IIf(IsNull(!WorkNo), "", Trim(!WorkNo)) & vbTab _
  192.                     & IIf(IsNull(!Name), "", Trim(!Name)) & vbTab _
  193.                     & IIf(IsNull(!Sex), "", Trim(!Sex)) & vbTab _
  194.                     & IIf(IsNull(!Age), "", Trim(Str(!Age))) & vbTab _
  195.                     & IIf(IsNull(!DeptName), "", Trim(!DeptName)) & vbTab _
  196.                     & IIf(IsNull(!TitleName), "", Trim(!TitleName))
  197.                 If I <> RowCount Then
  198.                     ClipStr = ClipStr & vbCr
  199.                 End If
  200.                 .MoveNext
  201.             End With
  202.         Loop
  203.         Rst.Close
  204.         Set Rst = Nothing
  205.         
  206.         With msfGrid
  207.             .Rows = .FixedRows
  208.             If .Redraw Then .Redraw = False
  209.             .Rows = RowCount + .FixedRows
  210.             .Cols = 6
  211.             If .Rows > .FixedRows Then
  212.                 .row = .FixedRows
  213.                 .col = 0
  214.                 .RowSel = .Rows - 1
  215.                 .ColSel = .Cols - 1
  216.                 .Clip = ClipStr
  217.                 .row = .FixedRows
  218.                 .col = 0
  219.                 .SetFocus
  220.             Else
  221.                 txtEdit.SetFocus
  222.             End If
  223.             If Not .Redraw Then .Redraw = True
  224.         End With
  225.     End If
  226.     Command1(0).Enabled = (msfGrid.Rows > msfGrid.FixedRows)
  227. End Sub