📄 frm_sjss4.frm
字号:
VERSION 5.00
Object = "{00028C01-0000-0000-0000-000000000046}#1.0#0"; "DBGRID32.OCX"
Begin VB.Form frm_sjss4
Caption = "考试成绩编辑"
ClientHeight = 5460
ClientLeft = 3345
ClientTop = 3705
ClientWidth = 9120
Icon = "frm_sjss4.frx":0000
LinkTopic = "Form1"
MDIChild = -1 'True
ScaleHeight = 5460
ScaleWidth = 9120
Begin VB.Data Data1
Caption = "Data1"
Connect = "Access"
DatabaseName = ""
DefaultCursorType= 0 '缺省游标
DefaultType = 2 '使用 ODBC
Exclusive = 0 'False
Height = 405
Left = 3240
Options = 0
ReadOnly = 0 'False
RecordsetType = 1 'Dynaset
RecordSource = "temp_cj"
Top = 7200
Width = 2295
End
Begin VB.CommandButton Command1
Caption = "删除当前记录(&D)"
Height = 495
Left = 1560
TabIndex = 1
Top = 4680
Width = 1575
End
Begin VB.CommandButton Command2
Caption = "结束成绩输入(&E)"
Height = 495
Left = 5400
TabIndex = 0
Top = 4680
Width = 1575
End
Begin MSDBGrid.DBGrid DBGrid1
Bindings = "frm_sjss4.frx":030A
Height = 4455
Left = 0
OleObjectBlob = "frm_sjss4.frx":031E
TabIndex = 2
Top = 0
Width = 9060
End
End
Attribute VB_Name = "frm_sjss4"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Public SJID As Integer
Private fen(10) As Integer, total_ti As Integer
Private Sub Command1_Click()
If DBGrid1.Columns(11) <> "" Then
DB.Execute ("delete from temp_cj where id=" + DBGrid1.Columns(11))
End If
Data1.Refresh
End Sub
Private Sub Command2_Click()
Dim i As Integer, s1 As String, s2 As String
Dim RS As Recordset
Dim aa As Integer
'DBGrid1.Refresh
Data1.Refresh
If Data1.Recordset.RecordCount > 0 Then
Data1.Recordset.MoveFirst
'If Not Data1.Recordset.EOF Then
Do While Not Data1.Recordset.EOF
If VBA.Trim(VBA.Str(DBGrid1.Columns(0))) = "" Then
MsgBox "学号不能为空!", vbCritical, "输入错误"
DBGrid1.SetFocus
Exit Sub
ElseIf Len(VBA.Trim(DBGrid1.Columns(0))) < 10 Then
MsgBox "学号位数不足10位!", vbCritical, "输入错误"
DBGrid1.SetFocus
Exit Sub
End If
For i = 1 To total_ti
If VBA.Trim(DBGrid1.Columns(i)) = "" Or VBA.Val(VBA.Trim(DBGrid1.Columns(i))) > fen(i - 1) Then
MsgBox "得分不能超过本大题分值范围:0 ~ " + VBA.Str(fen(i - 1)), vbCritical, "输入错误"
DBGrid1.SetFocus
'DBGrid1.Columns [2].getfocus
Exit Sub
End If
Next i
Data1.Recordset.MoveNext
Loop
aa = MsgBox("要结束修改吗?", vbOKCancel, "确认")
If aa = 1 Then
DB.Execute ("delete from stu_cj")
Set RS = DB.OpenRecordset("select * from stu_cj where SJID=" + VBA.Str(SJID))
Data1.Recordset.MoveFirst
Do While Not Data1.Recordset.EOF
For i = 1 To 10
If VBA.Trim(DBGrid1.Columns(i)) = "" Then
DBGrid1.Columns(i) = "0"
End If
Next i
RS.AddNew
RS!SJID = SJID
RS!SID = DBGrid1.Columns(0)
RS!T1 = VBA.Val(VBA.Trim(DBGrid1.Columns(1)))
RS!T2 = VBA.Val(VBA.Trim(DBGrid1.Columns(2)))
RS!T3 = VBA.Val(VBA.Trim(DBGrid1.Columns(3)))
RS!T4 = VBA.Val(VBA.Trim(DBGrid1.Columns(4)))
RS!T5 = VBA.Val(VBA.Trim(DBGrid1.Columns(5)))
RS!T6 = VBA.Val(VBA.Trim(DBGrid1.Columns(6)))
RS!T7 = VBA.Val(VBA.Trim(DBGrid1.Columns(7)))
RS!T8 = VBA.Val(VBA.Trim(DBGrid1.Columns(8)))
RS!T9 = VBA.Val(VBA.Trim(DBGrid1.Columns(9)))
RS!T10 = VBA.Val(VBA.Trim(DBGrid1.Columns(10)))
RS.Update
Data1.Recordset.MoveNext
Loop
Unload Me
End If
Else
MsgBox "您没有输入任何数据,请输入!", vbCritical, "输入错误"
End If
End Sub
Private Sub Form_Load()
Dim RS5 As Recordset
Dim sql As String, i As Integer
Data1.DatabaseName = DName
DB.Execute ("delete from temp_cj")
'sql = "insert into temp_cj (sid,T1,T2,t3,t4,t5,t6,t7,t8,t9,t10) select sid,T1,T2,t3,t4,t5,t6,t7,t8,t9,t10 from shijuan where SJID=" + Str(SJID)
'sql = "insert into temp_cj (sid) select sid from shijuan " 'where SJID=" + Str(SJID)
'DB.Execute (sql)
'Set RS5 = DB.OpenRecordset("select sid,T1,T2,t3,t4,t5,t6,t7,t8,t9,t10 from shijuan where stu_cj=" + Str(SJID) + "into temp_cj")
Set RS5 = DB.OpenRecordset("select T1,T2,t3,t4,t5,t6,t7,t8,t9,t10,total_ti from shijuan where SJID=" + VBA.Str(SJID))
If RS5.RecordCount <> 0 Then
fen(0) = RS5.Fields("T1")
fen(1) = RS5.Fields("T2")
fen(2) = RS5.Fields("T3")
fen(3) = RS5.Fields("T4")
fen(4) = RS5.Fields("T5")
fen(5) = RS5.Fields("T6")
fen(6) = RS5.Fields("T7")
fen(7) = RS5.Fields("T8")
fen(8) = RS5.Fields("T9")
fen(9) = RS5.Fields("T10")
total_ti = RS5.Fields("total_ti")
End If
RS5.Close
For i = total_ti + 1 To 10
DBGrid1.Columns(i).Visible = False
Next
Set RS5 = DB.OpenRecordset("select sid,T1,T2,t3,t4,t5,t6,t7,t8,t9,t10 from stu_cj where SJID=" + VBA.Str(SJID))
'RS5.MoveFirst
Do While Not RS5.EOF
sql = "insert into temp_cj (sid,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10) values ("
sql = sql + "'" + RS5.Fields("sid") + "',"
sql = sql + VBA.Str(RS5.Fields("T1")) + ","
sql = sql + VBA.Str(RS5.Fields("T2")) + ","
sql = sql + VBA.Str(RS5.Fields("T3")) + ","
sql = sql + VBA.Str(RS5.Fields("T4")) + ","
sql = sql + VBA.Str(RS5.Fields("T5")) + ","
sql = sql + VBA.Str(RS5.Fields("T6")) + ","
sql = sql + VBA.Str(RS5.Fields("T7")) + ","
sql = sql + VBA.Str(RS5.Fields("T8")) + ","
sql = sql + VBA.Str(RS5.Fields("T9")) + ","
sql = sql + VBA.Str(RS5.Fields("T10"))
sql = sql + ")"
'sql = sql + "'"
DB.Execute (sql)
RS5.MoveNext
Loop
RS5.Close
Me.Data1.Refresh
DBGrid1.Refresh
End Sub
Private Sub Form_Unload(Cancel As Integer)
Frm_main.tform = "sjss2"
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -