📄 frmfindstu.frm
字号:
VERSION 5.00
Begin VB.Form frmFindStu
Caption = "查找"
ClientHeight = 2310
ClientLeft = 6090
ClientTop = 3630
ClientWidth = 4005
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Icon = "frmFindStu.frx":0000
LinkTopic = "Form1"
LockControls = -1 'True
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 2310
ScaleWidth = 4005
Begin VB.CommandButton cmdCancel
Caption = "取 消"
Height = 375
Left = 2880
TabIndex = 4
Top = 1850
Width = 975
End
Begin VB.CommandButton cmdFind
Caption = "查 找"
Height = 375
Left = 1920
TabIndex = 3
Top = 1850
Width = 975
End
Begin VB.Frame fraFind
Caption = "查找"
Height = 1575
Left = 120
TabIndex = 0
Top = 120
Width = 3735
Begin VB.CheckBox chkOnlyNum
Caption = "Check1"
Height = 255
Left = 240
TabIndex = 5
Top = 360
Width = 255
End
Begin VB.TextBox txtFindName
Height = 375
Left = 1560
TabIndex = 2
Top = 960
Width = 1815
End
Begin VB.TextBox txtFindNum
Height = 390
Left = 1560
TabIndex = 1
Top = 270
Width = 1815
End
Begin VB.Label labFindNum
Caption = "学生学号"
Height = 255
Left = 720
TabIndex = 7
Top = 390
Width = 855
End
Begin VB.Label labFindName
Caption = "学生姓名"
Height = 255
Left = 720
TabIndex = 6
Top = 1080
Width = 855
End
End
End
Attribute VB_Name = "frmFindStu"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Sub cmdFind_Click()
If (chkOnlyNum = 0 And (Trim(txtFindNum.Text) <> "" Or Trim(txtFindName.Text) <> "")) Or (chkOnlyNum = 1 And Trim(txtFindNum.Text) <> "") Then
Select Case SeltFrom
Case 1
Call FindStuIfm
Case 2
Call FindMdfiScore
Case 3
Call FindStuPlace
End Select
Unload Me
End If
End Sub
Private Sub cmdCancel_Click()
Unload Me
End Sub
'查找学生资料记录,若checkbox打钩则只按学生学号查找
Private Sub FindStuIfm()
On Error GoTo mErr
Dim mRst As New ADODB.Recordset
Dim mLItem As ListItem
Dim mStrSend As String
frmStuIfm.lsvStuIfm.ListItems.Clear
mStrSend = ""
Call FindStr(mStrSend)
mRst.Open "SELECT * FROM tblStudent WHERE " & mStrSend, mCnnString, adOpenKeyset, adLockPessimistic, adCmdText
Do Until mRst.EOF
Set mLItem = frmStuIfm.lsvStuIfm.ListItems.Add(, , mRst("学生学号"))
With mLItem
.SubItems(1) = mRst("学生姓名")
.SubItems(2) = mRst("性别")
.SubItems(3) = Format(mRst("入学日期"), "yyyy年mm月dd日")
.Tag = mRst("学生ID")
End With
mRst.MoveNext
Loop
mRst.Close
Set mRst = Nothing
Exit Sub
mErr:
MsgBox Err.Number & "," & Err.Description, vbCritical + vbOKOnly, mTitle
End
End Sub
'查找学生的成绩,若tblStudent表中有该学生但tblScore表中却无他的成绩,则显示零值
Private Sub FindMdfiScore()
On Error GoTo mErr
Dim mStrSend As String
mStrSend = ""
Call FindStr(mStrSend)
Call frmMdfiScore.DataToList("SELECT * FROM tblStudent WHERE " & mStrSend)
Exit Sub
mErr:
MsgBox Err.Number & "," & Err.Description, vbCritical + vbOKOnly, mTitle
End
End Sub
'查找学生成绩记录以及名次,若checkbox打钩,则只按学生学号寻找,找到后把它的各科成绩、总分、平均分、名次显示在列表中
Private Sub FindStuPlace()
On Error GoTo mErr
Dim mStrSend As String
mStrSend = ""
Call FindStr(mStrSend)
frmStuPlace.lsvStuPlace.ListItems.Clear
Call frmStuPlace.DataToList("SELECT * FROM tblStudent WHERE " & mStrSend)
Exit Sub
mErr:
MsgBox Err.Number & "," & Err.Description, vbCritical + vbOKOnly, mTitle
End
End Sub
'对查找条件加工成SQL语句的一部分
Private Sub FindStr(mStr As String)
mStr = "学生学号 LIKE '%" & Trim(txtFindNum.Text) & "%'"
If chkOnlyNum = 0 And Trim(txtFindName.Text) <> "" Then
mStr = mStr & " AND 学生姓名 LIKE '%" & Trim(txtFindName.Text) & "%'"
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -