📄 frmquerygrade.frm
字号:
VERSION 5.00
Object = "{67397AA1-7FB1-11D0-B148-00A0C922E820}#6.0#0"; "MSADODC.OCX"
Object = "{CDE57A40-8B86-11D0-B3C6-00A0C90AEA82}#1.0#0"; "MSDATGRD.OCX"
Begin VB.Form frmQueryGrade
BorderStyle = 1 'Fixed Single
Caption = "查询成绩信息"
ClientHeight = 4320
ClientLeft = 1860
ClientTop = 1530
ClientWidth = 5955
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 4320
ScaleWidth = 5955
Begin MSAdodcLib.Adodc Adodc1
Height = 375
Left = 4320
Top = 4080
Visible = 0 'False
Width = 1575
_ExtentX = 2778
_ExtentY = 661
ConnectMode = 0
CursorLocation = 3
IsolationLevel = -1
ConnectionTimeout= 15
CommandTimeout = 30
CursorType = 3
LockType = 3
CommandType = 8
CursorOptions = 0
CacheSize = 50
MaxRecords = 0
BOFAction = 0
EOFAction = 0
ConnectStringType= 1
Appearance = 1
BackColor = -2147483643
ForeColor = -2147483640
Orientation = 0
Enabled = -1
Connect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Stud97.mdb;Persist Security Info=False"
OLEDBString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Stud97.mdb;Persist Security Info=False"
OLEDBFile = ""
DataSourceName = ""
OtherAttributes = ""
UserName = ""
Password = ""
RecordSource = ""
Caption = "Adodc1"
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
_Version = 393216
End
Begin VB.Frame Frame2
Appearance = 0 'Flat
Caption = "查询方式"
ForeColor = &H80000008&
Height = 1935
Left = 120
TabIndex = 3
Top = 2160
Width = 3975
Begin VB.CheckBox chkQuery
Caption = "按班级"
Height = 255
Index = 3
Left = 240
TabIndex = 11
Tag = "学号"
Top = 1433
Width = 975
End
Begin VB.CheckBox chkQuery
Caption = "按课程"
Height = 255
Index = 2
Left = 240
TabIndex = 10
Tag = "学号"
Top = 1043
Width = 975
End
Begin VB.CheckBox chkQuery
Caption = "按姓名"
Height = 255
Index = 1
Left = 240
TabIndex = 9
Tag = "姓名"
Top = 665
Width = 975
End
Begin VB.CheckBox chkQuery
Caption = "按学号"
Height = 255
Index = 0
Left = 240
TabIndex = 8
Top = 299
Width = 975
End
Begin VB.ComboBox cboClass
Height = 300
Left = 1200
TabIndex = 7
Top = 1410
Width = 2535
End
Begin VB.ComboBox cboCourse
Height = 300
Left = 1200
TabIndex = 6
Top = 1020
Width = 2535
End
Begin VB.TextBox txtName
Height = 264
Left = 1200
TabIndex = 5
Top = 660
Width = 2535
End
Begin VB.TextBox txtNo
Height = 264
Left = 1200
TabIndex = 4
Top = 294
Width = 2535
End
End
Begin VB.CommandButton cmdAll
Caption = "全部"
Height = 312
Left = 4440
TabIndex = 2
Top = 3240
Width = 1212
End
Begin VB.CommandButton cmdExit
Caption = "退出"
Height = 312
Left = 4440
TabIndex = 1
Top = 3600
Width = 1212
End
Begin VB.CommandButton cmdQuery
Caption = "查询"
Default = -1 'True
Height = 312
Left = 4440
TabIndex = 0
Top = 2880
Width = 1212
End
Begin MSDataGridLib.DataGrid DataGrid1
Height = 1935
Left = 120
TabIndex = 12
Top = 120
Width = 5685
_ExtentX = 10028
_ExtentY = 3413
_Version = 393216
HeadLines = 1
RowHeight = 15
BeginProperty HeadFont {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ColumnCount = 2
BeginProperty Column00
DataField = ""
Caption = ""
BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED}
Type = 0
Format = ""
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 2052
SubFormatType = 0
EndProperty
EndProperty
BeginProperty Column01
DataField = ""
Caption = ""
BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED}
Type = 0
Format = ""
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 2052
SubFormatType = 0
EndProperty
EndProperty
SplitCount = 1
BeginProperty Split0
BeginProperty Column00
EndProperty
BeginProperty Column01
EndProperty
EndProperty
End
Begin VB.Image Image1
Height = 480
Left = 4680
Picture = "frmQueryGrade.frx":0000
Top = 2280
Width = 480
End
End
Attribute VB_Name = "frmQueryGrade"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'查询成绩窗体frmQueryGrade
Option Explicit
Dim sql As String '存SQL语句
Private Sub chkQuery_Click(Index As Integer) '选中复选框时,焦点移至输入控件
If chkQuery(Index).Value = vbUnchecked Then Exit Sub
Select Case Index
Case 0
txtNo.SetFocus
Case 1
txtName.SetFocus
Case 2
cboCourse.SetFocus
Case 3
cboClass.SetFocus
End Select
End Sub
Private Sub cmdAll_Click()
'SQL查询语句
sql = "SELECT 成绩.学号 AS 学号,姓名,课程,分数,班级 " & _
" FROM 成绩,学籍 WHERE 成绩.学号=学籍.学号 ORDER BY 成绩.学号"
Adodc1.RecordSource = sql '生成记录集,刷新
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
End Sub
Private Sub cmdExit_Click() '退出
Unload Me
End Sub
Private Sub cmdQuery_Click() '查询
Dim sql1 As String
Dim i As Integer
Dim sqlA(3) As String
'字符串数组存放各种查询条件,下标与复选框控件数组索引对应。
' SQL 语句中使用 Like 运算符、% 通配符可实现模糊查询。
sqlA(0) = " 成绩.学号 Like '%" & Trim$(txtNo.Text) & "%'"
sqlA(1) = " 姓名 Like '%" & Trim$(txtName.Text) & "%'"
sqlA(2) = " 课程 = '" & Trim$(cboCourse.Text) & "'"
sqlA(3) = " 班级 Like '%" & Trim$(cboClass.Text) & "%'"
sql1 = "" '用于存放 SQL 语句中 WHERE 子句的条件
'循环遍历各查询条件复选框
For i = 0 To chkQuery.Count - 1
If chkQuery(i).Value = vbChecked Then '若某复选框被选中,
If sql1 = "" Then '若只有一个复选框被选中,
sql1 = sqlA(i) '利用字符串数组加入一个条件;
Else '若有多个复选框被选中,
sql1 = sql1 & " AND " & sqlA(i) '用 AND 运算符加入多个条件。
End If
End If
Next
If sql1 = "" Then
Call cmdAll_Click
Exit Sub
End If
sql = "SELECT 成绩.学号 AS 学号,姓名,课程,分数,班级 " & _
" FROM 成绩,学籍 WHERE 成绩.学号=学籍.学号 AND " _
& sql1 & " ORDER BY 成绩.学号"
Adodc1.RecordSource = sql '刷新Adodc1
Adodc1.Refresh
If Adodc1.Recordset.BOF Then '若记录集为空
MsgBox "对不起,没有您所要查找的记录。", vbInformation
Exit Sub
End If
Set DataGrid1.DataSource = Adodc1 '重新绑定数据网格控件
End Sub
Private Sub Form_Load() '窗体加载
'填充课程组合框,分组子句(GROUP BY)筛选重复课程
sql = "SELECT 课程 FROM 成绩 GROUP BY 课程 " _
& " HAVING 课程<>NULL AND 课程<>''"
Adodc1.RecordSource = sql
Adodc1.Refresh
With Adodc1.Recordset
Do Until .EOF
cboCourse.AddItem .Fields("课程").Value
.MoveNext
Loop
End With
'填充班级组合框
Call AddClassItem(cboClass) '调用标准模块公有过程
DataGrid1.AllowUpdate = False '禁止修改网格控件的内容
End Sub
Private Sub Form_Unload(Cancel As Integer)
frmMain.Show
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -