📄 frmforshsjb.frm
字号:
cmdModify.Enabled = False
cmdNext.Enabled = False
cmdPrevious.Enabled = False
Else
MsgBox "无此条记录", vbExclamation, "提示"
Exit Sub
End If
End If
End Sub
Private Sub cmdNew_Click()
On Error Resume Next
InitItem
AddNew = True
txtXH.SetFocus
End Sub
Private Sub cmdNext_Click()
On Error Resume Next
If recForSHSJB.RecordCount = 0 Then
MsgBox "表中无记录", vbInformation, "提示"
Exit Sub
End If
If BookMark = recForSHSJB.RecordCount Then
MsgBox "这是最后一条记录!", vbInformation, "提示"
FillIn
Else
BookMark = BookMark + 1
recForSHSJB.MoveNext
FillIn
End If
End Sub
Private Sub cmdPrevious_Click()
On Error Resume Next
If recForSHSJB.RecordCount = 0 Then
MsgBox "表中无记录!", vbInformation, "提示"
Exit Sub
End If
If BookMark = 1 Then
MsgBox "这是第一条记录!", vbInformation, "提示"
FillIn
Else
BookMark = BookMark - 1
recForSHSJB.MovePrevious
FillIn
End If
End Sub
Private Sub cmdSave_Click()
On Error Resume Next
Dim sqlForInsert As String
If cmdSave.Caption = "存储" Then
cmdSave.Caption = "保存"
cmdSave.Enabled = False
cmdPrevious.Enabled = True
cmdNext.Enabled = True
cmdModify.Enabled = True
cmdDelete.Enabled = True
Exit Sub
End If
If CheckItem = True Then
sqlForInsert = "insert into shsjb(xh,xm,bj,yx,dh,gz,jl) "
sqlForInsert = sqlForInsert + "values('" + Trim(txtXH) + "','" + Trim(txtXM) + "',"
sqlForInsert = sqlForInsert + "'" + Trim(txtBJ) + "','" + Trim(txtYX) + "',"
sqlForInsert = sqlForInsert + "'" + Trim(txtDH) + "','" + Trim(txtGZ) + "',"
sqlForInsert = sqlForInsert + "'" + Trim(txtJL) + "')"
Dbstudent.Execute sqlForInsert
If MsgBox("继续添加记录?", vbQuestion + vbYesNo) = vbYes Then
InitItem
txtXH.SetFocus
Exit Sub
End If
cmdSave.Enabled = False
UpdateRecord
AddNew = False
InitItem
FillIn
txtXH.SetFocus
Else
MsgBox "时间输入有误", vbCritical, "提示"
End If
End Sub
Private Sub Form_Load()
On Error Resume Next
UpdateRecord
Modify = False
cmdSave.Enabled = False
AddNew = False
If RecordCount <> 0 Then
FillIn
End If
Line2.X1 = 0
Line2.X2 = frmForSHSJB.Width
End Sub
'显示当前记录
Public Sub FillIn()
On Error Resume Next
If recForSHSJB.RecordCount = 0 Then
MsgBox "无当前数据!", vbExclamation, "提示"
Exit Sub
End If
If Not IsNull(recForSHSJB!XH) Then txtXH = recForSHSJB!XH
If Not IsNull(recForSHSJB!XM) Then txtXM = recForSHSJB!XM
If Not IsNull(recForSHSJB!BJ) Then txtBJ = recForSHSJB!BJ
If Not IsNull(recForSHSJB!YX) Then txtYX = recForSHSJB!YX
If Not IsNull(recForSHSJB!DH) Then txtDH = recForSHSJB!DH
If Not IsNull(recForSHSJB!GZ) Then txtGZ = recForSHSJB!GZ
If Not IsNull(recForSHSJB!JL) Then txtJL = recForSHSJB!JL
End Sub
'数据测试
Function CheckItem() As Boolean
On Error Resume Next
CheckItem = True
End Function
'数据集中有否此记录
Function XHInSHSJB(ByVal XHForDetect As String) As Boolean
On Error Resume Next
Dim sqlForXH As String
Dim recForXH As Recordset
XHInSHSJB = True
sqlForXH = "select top 1 * from shsjb where xh='" + XHForDetect + "'"
Set recForXH = Dbstudent.OpenRecordset(sqlForXH, dbOpenSnapshot)
If recForXH.RecordCount = 0 Then
XHInSHSJB = False
End If
End Function
'更新记录集,记录号,记录数
Public Sub UpdateRecord()
On Error Resume Next
Dim sqlForshsjb As String
sqlForshsjb = "select * from shsjb"
Set recForSHSJB = Dbstudent.OpenRecordset(sqlForshsjb, dbOpenSnapshot)
BookMark = 1
If recForSHSJB.RecordCount <> 0 Then
recForSHSJB.MoveLast
recForSHSJB.MoveFirst
RecordCount = recForSHSJB.RecordCount
Else
RecordCount = 0
BookMark = 0
End If
End Sub
Public Sub InitItem()
On Error Resume Next
txtXH = ""
txtXM = ""
txtBJ = ""
txtYX = ""
txtDH = ""
txtGZ = ""
txtJL = ""
End Sub
Private Sub txtBJ_KeyPress(KeyAscii As Integer)
On Error Resume Next
Dim sqlModify As String
Dim BookMarkSave As Integer
Dim I As Integer
If KeyAscii = 13 Then
If Modify Then
sqlModify = "update shsjb set bj='" + Trim(txtBJ) + "' where id=" + Trim(recForSHSJB!ID) + ""
Dbstudent.Execute sqlModify, 64
If MsgBox("保存对当前记录的修改?", vbQuestion + vbYesNo) = vbNo Then
Exit Sub
End If
cmdSave.Caption = "保存"
cmdSave.Enabled = False
BookMarkSave = BookMark
UpdateRecord
For I = 1 To BookMarkSave - 1
recForSHSJB.MoveNext
FillIn
Next I
BookMark = BookMarkSave
Modify = False
cmdModify.Enabled = True
cmdNext.Enabled = True
cmdPrevious.Enabled = True
End If
End If
End Sub
Private Sub txtJL_KeyPress(KeyAscii As Integer)
On Error Resume Next
Dim sqlModify As String
Dim BookMarkSave As Integer
Dim I As Integer
If KeyAscii = 13 Then
If Modify Then
sqlModify = "update shsjb set jl='" + Trim(txtJL) + "' where id=" + Trim(recForSHSJB!ID) + ""
Dbstudent.Execute sqlModify, 64
If MsgBox("保存对当前记录的修改?", vbQuestion + vbYesNo) = vbNo Then
Exit Sub
End If
cmdSave.Caption = "保存"
cmdSave.Enabled = False
BookMarkSave = BookMark
UpdateRecord
For I = 1 To BookMarkSave - 1
recForSHSJB.MoveNext
FillIn
Next I
BookMark = BookMarkSave
Modify = False
cmdModify.Enabled = True
cmdNext.Enabled = True
cmdPrevious.Enabled = True
End If
End If
End Sub
Private Sub txtDH_KeyPress(KeyAscii As Integer)
On Error Resume Next
Dim sqlModify As String
Dim BookMarkSave As Integer
Dim I As Integer
If KeyAscii = 13 Then
If Modify Then
sqlModify = "update shsjb set dh='" + Trim(txtDH) + "' where id=" + Trim(recForSHSJB!ID) + ""
Dbstudent.Execute sqlModify, 64
If MsgBox("保存对当前记录的修改?", vbQuestion + vbYesNo) = vbNo Then
Exit Sub
End If
cmdSave.Caption = "保存"
cmdSave.Enabled = False
BookMarkSave = BookMark
UpdateRecord
For I = 1 To BookMarkSave - 1
recForSHSJB.MoveNext
FillIn
Next I
BookMark = BookMarkSave
Modify = False
cmdModify.Enabled = True
cmdNext.Enabled = True
cmdPrevious.Enabled = True
End If
End If
End Sub
Private Sub txtXH_LostFocus()
On Error Resume Next
Dim sqlForNew, sqlForNew1 As String
Dim recForNew, recForNew1 As Recordset
If AddNew Then
If XHInZBQKB(txtXH) Then
sqlForNew1 = "select * from shsjb where xh='" + Trim(txtXH) + "'"
Set recForNew1 = Dbstudent.OpenRecordset(sqlForNew1)
If recForNew1.EOF And recForNew1.BOF Then
sqlForNew = "select top 1 xm,bj,yx,dh from zbqkb where xh='" + Trim(txtXH) + "'"
Set recForNew = Dbstudent.OpenRecordset(sqlForNew, dbOpenSnapshot)
If Not IsNull(recForNew!XM) Then txtXM = recForNew!XM
If Not IsNull(recForNew!BJ) Then txtBJ = recForNew!BJ
If Not IsNull(recForNew!YX) Then txtYX = recForNew!YX
If Not IsNull(recForNew!DH) Then txtDH = recForNew!DH
cmdSave.Enabled = True
Else
MsgBox "库中已有该同学记录!", vbExclamation, "提示框"
Dim s As String
s = Trim(txtXH)
recForSHSJB.MoveFirst
recForSHSJB.FindFirst "xh='" + Trim(s) + "'"
FillIn
txtXH.SetFocus
AddNew = False
End If
Else
MsgBox "基本表中无此学号", vbInformation, "提示"
txtXH = ""
AddNew = False
End If
End If
End Sub
'基本表中是否有此学号
Function XHInZBQKB(ByVal XHForDetect As String) As Boolean
On Error Resume Next
Dim sqlForXH As String
Dim recForXH As Recordset
XHInZBQKB = True
sqlForXH = "select top 1 * from zbqkb where xh='" + XHForDetect + "'"
Set recForXH = Dbstudent.OpenRecordset(sqlForXH, dbOpenSnapshot)
If recForXH.RecordCount = 0 Then
XHInZBQKB = False
End If
End Function
Private Sub txtXM_KeyPress(KeyAscii As Integer)
On Error Resume Next
Dim sqlModify As String
Dim BookMarkSave As Integer
Dim I As Integer
If KeyAscii = 13 Then
If Modify Then
sqlModify = "update shsjb set xm='" + Trim(txtXM) + "' where id=" + Trim(recForSHSJB!ID) + ""
Dbstudent.Execute sqlModify, 64
If MsgBox("保存对当前记录的修改?", vbQuestion + vbYesNo) = vbNo Then
Exit Sub
End If
cmdSave.Caption = "保存"
cmdSave.Enabled = False
BookMarkSave = BookMark
UpdateRecord
For I = 1 To BookMarkSave - 1
recForSHSJB.MoveNext
FillIn
Next I
BookMark = BookMarkSave
Modify = False
cmdModify.Enabled = True
cmdNext.Enabled = True
cmdPrevious.Enabled = True
End If
End If
End Sub
Private Sub txtYX_KeyPress(KeyAscii As Integer)
On Error Resume Next
Dim sqlModify As String
Dim BookMarkSave As Integer
Dim I As Integer
If KeyAscii = 13 Then
If Modify Then
sqlModify = "update shsjb set yx='" + Trim(txtYX) + "' where id=" + Trim(recForSHSJB!ID) + ""
Dbstudent.Execute sqlModify, 64
If MsgBox("保存对当前记录的修改?", vbQuestion + vbYesNo) = vbNo Then
Exit Sub
End If
cmdSave.Caption = "保存"
cmdSave.Enabled = False
BookMarkSave = BookMark
UpdateRecord
For I = 1 To BookMarkSave - 1
recForSHSJB.MoveNext
FillIn
Next I
BookMark = BookMarkSave
Modify = False
cmdModify.Enabled = True
cmdNext.Enabled = True
cmdPrevious.Enabled = True
End If
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -