📄 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
Caption = "查询成绩"
ClientHeight = 5115
ClientLeft = 60
ClientTop = 345
ClientWidth = 6300
LinkTopic = "Form1"
ScaleHeight = 5115
ScaleWidth = 6300
StartUpPosition = 3 '窗口缺省
Begin VB.CommandButton cmdquery
Caption = "查询"
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 465
Left = 4035
TabIndex = 12
Top = 3120
Width = 1815
End
Begin VB.CommandButton cmdall
Caption = "全部"
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 465
Left = 4035
TabIndex = 11
Top = 3600
Width = 1815
End
Begin VB.CommandButton cmdexit
Caption = "退出"
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 465
Left = 4035
TabIndex = 10
Top = 4080
Width = 1815
End
Begin VB.Frame Frame1
Caption = "查询方式"
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00404040&
Height = 2295
Left = 240
TabIndex = 1
Top = 2640
Width = 3465
Begin VB.CheckBox chkquery
Caption = "按学号:"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00404040&
Height = 255
Index = 0
Left = 240
TabIndex = 9
Top = 360
Width = 1125
End
Begin VB.CheckBox chkquery
Caption = "按姓名:"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00404040&
Height = 255
Index = 1
Left = 240
TabIndex = 8
Top = 840
Width = 1080
End
Begin VB.CheckBox chkquery
Caption = "按课程:"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00404040&
Height = 255
Index = 2
Left = 240
TabIndex = 7
Top = 1320
Width = 1125
End
Begin VB.CheckBox chkquery
Caption = "按班级:"
BeginProperty Font
Name = "宋体"
Size = 9
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00404040&
Height = 255
Index = 3
Left = 240
TabIndex = 6
Top = 1800
Width = 1080
End
Begin VB.TextBox txtno
Height = 270
Left = 1350
TabIndex = 5
Top = 360
Width = 1695
End
Begin VB.TextBox txtname
Height = 270
Left = 1350
TabIndex = 4
Top = 810
Width = 1695
End
Begin VB.ComboBox cbocourse
Height = 300
Left = 1350
TabIndex = 3
Top = 1260
Width = 1695
End
Begin VB.ComboBox cboclass
Height = 300
Left = 1395
TabIndex = 2
Top = 1755
Width = 1695
End
End
Begin MSDataGridLib.DataGrid DataGrid1
Height = 2295
Left = 240
TabIndex = 0
Top = 240
Width = 5820
_ExtentX = 10266
_ExtentY = 4048
_Version = 393216
AllowUpdate = 0 'False
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 MSAdodcLib.Adodc Adodc1
Height = 375
Left = 3960
Top = 4560
Visible = 0 'False
Width = 2220
_ExtentX = 3916
_ExtentY = 661
ConnectMode = 0
CursorLocation = 3
IsolationLevel = -1
ConnectionTimeout= 15
CommandTimeout = 30
CursorType = 3
LockType = 3
CommandType = 1
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=student.mdb;Persist Security Info=False"
OLEDBString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=student.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
End
Attribute VB_Name = "frmquerygrade"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim sql As String
Option Explicit
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 学号,学籍.姓名 as 姓名,成绩.课程 as 课程,成绩.分数 as 分数,学籍.班级 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
'SELECT 语句 + WHERE 子句的条件字符串形成完整的 SQL 语句
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
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 + -