📄 虚拟班级窗口.frm
字号:
If rst.RecordCount() = 0 Then '累计记录个数
clearfield
hidebutton
MsgBox "数据库中已经没有记录了!"
Exit Sub
End If
rst.MoveNext
If rst.EOF = True Then
rst.MoveLast
End If
filltext '填充文本框
adodclass.Refresh
End Sub
Private Sub Cmdexit_Click()
db.Close
Unload Me
frmmain.Show vbModal
End Sub
Private Sub cmdfind_Click()
Dim findstr As String
findstr = InputBox("请输入要查找的班级名称:", "查找提示窗口")
rst.find "classname='" & findstr & "'"
If rst.EOF = True Then
MsgBox "没有要查询的数据!"
Exit Sub
End If
filltext
End Sub
Private Sub cmdfirst_Click()
rst.MoveFirst
filltext
End Sub
Private Sub Cmdlast_Click()
rst.MoveLast
filltext
End Sub
Private Sub Cmdmodify_Click()
strSQL = "SELECT SpecID FROM bspeciality"
If Txtmajorid.Text = "" Then
MsgBox "请输入专业编号!"
Txtmajorid.SetFocus
Exit Sub
End If
temp.Open strSQL, db, adOpenStatic, adLockOptimistic
temp.Filter = "SpecID='" & Txtmajorid.Text & "'"
temp.Requery
If temp.RecordCount = 0 Then
MsgBox ("这个专业方向编号不存在,编辑操作失败!")
temp.Close
Exit Sub
End If
temp.Close
If TxtClassID.Text = "" Then
MsgBox "请输入班级编号!"
TxtClassID.SetFocus
Exit Sub
End If
If Txtclassname.Text = "" Then
MsgBox "请输入班级名称!"
Txtclassname.SetFocus
Exit Sub
End If
If Txtnumber.Text = "" Then
MsgBox "请输入班级人数!"
Txtnumber.SetFocus
Exit Sub
End If
fillrecord
rst.Update
adodclass.Refresh
Txtmajorid.SetFocus
End Sub
Private Sub Cmdnext_Click()
rst.MoveNext
If rst.EOF Then
MsgBox "这是最后一个记录了!"
rst.MoveLast
End If
filltext
End Sub
Private Sub Cmdprevious_Click()
rst.MovePrevious
If rst.BOF Then
MsgBox "这是第一个记录了!"
rst.MoveFirst
End If
filltext
End Sub
Private Sub Cmdadd_Click()
strSQL = "SELECT SpecID FROM bspeciality"
If Txtmajorid.Text = "" Then
MsgBox "请输入专业编号!"
Txtmajorid.SetFocus
Exit Sub
End If
temp.Open strSQL, db, adOpenStatic, adLockOptimistic
temp.Filter = "SpecID='" & Txtmajorid.Text & "'"
temp.Requery
If temp.RecordCount = 0 Then
MsgBox ("这个专业方向编号不存在,编辑操作失败!")
temp.Close
Exit Sub
End If
temp.Close
If TxtClassID.Text = "" Then
MsgBox "请输入班级编号!"
TxtClassID.SetFocus
Exit Sub
End If
If Txtclassname.Text = "" Then
MsgBox "请输入班级名称!"
Txtclassname.SetFocus
Exit Sub
End If
If Txtnumber.Text = "" Then
MsgBox "请输入班级人数!"
Txtnumber.SetFocus
Exit Sub
End If
rst.AddNew
fillrecord
rst.Update
clearfield
rst.Requery
showbutton
Txtmajorid.SetFocus
adodclass.Refresh
Exit Sub
End Sub
Private Sub Command1_Click()
clearfield
Txtmajorid.SetFocus
End Sub
Private Sub Dgdclass_Click()
If rst.RecordCount = 0 Then
TxtClassID.SetFocus
Exit Sub
End If
TxtClassID.Text = Dgdclass.Columns(0).Text
Txtclassname.Text = Dgdclass.Columns(1).Text
Txtnumber.Text = Dgdclass.Columns(4).Text
End Sub
Private Sub Dgdmajor_Click()
strSQL = "SELECT SpecID FROM bspeciality"
temp.Open strSQL, db, adOpenKeyset, adLockOptimistic
If temp.RecordCount = 0 Then
TxtClassID.SetFocus
temp.Close
Exit Sub
End If
temp.Close
Txtmajorid.Text = Dgdmajor.Columns(0).Text
End Sub
Private Sub Dgdmajor_GotFocus()
Dgdclass.Visible = False
End Sub
Public Sub filltext()
If rst.RecordCount = 0 Then
Exit Sub
End If
Txtmajorid.Text = rst.Fields("SpecID")
TxtClassID.Text = rst.Fields("ClassID")
Txtclassname.Text = rst.Fields("ClassName")
Txtnumber.Text = rst.Fields("ClassStuNum")
End Sub
Public Sub clearfield()
Txtmajorid.Text = ""
TxtClassID.Text = ""
Txtclassname.Text = ""
Txtnumber.Text = ""
End Sub
'连接到数据库
Private Function ConenctToDatabase() As Boolean
On Error GoTo ErrorHandler
Dim DBName As String, ServerAdd As String, UserName As String, UserPwd As String
'设置连接信息字符串的参数
ServerAdd = "IMAGE"
DBName = "Paike"
UserName = ""
UserPwd = ""
'连接数据库
Set db = New ADODB.Connection
db.ConnectionTimeout = 10
db.CursorLocation = adUseServer
db.ConnectionString = "uid=" & UserName & ";pwd=" & UserPwd & _
";driver={SQL Server};server=" & ServerAdd & _
";database=" & DBName & ";dsn=''"
db.Open
'返回值
ConenctToDatabase = True
Exit Function
ErrorHandler:
MsgBox "连接到数据库出错", vbCritical, "出现错误"
Exit Function
End Function
Private Sub Form_Load()
strSQL = "SELECT * FROM bClass"
ConenctToDatabase
rst.Open strSQL, db, adOpenKeyset, adLockOptimistic
If rst.RecordCount() = 0 Then
'clearfield
hidebutton
Else
showbutton
'rst.MoveFirst
'filltext
End If
filltext
Dgdclass.Visible = False
End Sub
Public Sub hidebutton()
Cmddelete.Enabled = False
Cmdnext.Enabled = False
cmdfirst.Enabled = False
Cmdlast.Enabled = False
Cmdmodify.Enabled = False
Cmdprevious.Enabled = False
End Sub
Public Sub showbutton()
Cmddelete.Enabled = True
Cmdnext.Enabled = True
cmdfirst.Enabled = True
Cmdlast.Enabled = True
Cmdmodify.Enabled = True
Cmdprevious.Enabled = True
End Sub
Public Sub fillrecord()
rst.Fields("SpecID") = Txtmajorid.Text
rst.Fields("ClassID") = TxtClassID.Text
rst.Fields("ClassName") = Txtclassname.Text
rst.Fields("ClassStuNum") = Txtnumber.Text
End Sub
Private Sub Txtclassid_Click()
adodclass.Refresh
End Sub
Private Sub Txtclassid_GotFocus()
adodclass.Refresh
Dgdmajor.Visible = False
Dgdclass.Visible = True
End Sub
Private Sub txtmajorid_Change()
adodclass.RecordSource = "select specID,ClassID,ClassName,ClassStuNum from bClass where SpecID='" & Txtmajorid.Text & "'"
adodclass.Refresh
End Sub
Private Sub Txtmajorid_GotFocus()
Dgdmajor.Visible = True
Dgdclass.Visible = False
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -