Private Sub updateCommand_Click()
Dim txtSQL As String
Dim MsgText As String
Dim mrcc As ADODB.Recordset
If mcclean Then
MsgBox "请先修改班级信息", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
If Not Testtxt(txtClassno.Text) Then
MsgBox "请输入班号!", vbOKOnly + vbExclamation, "警告"
txtClassno.SetFocus
Exit Sub
End If
If Not IsNumeric(Trim(txtClassno.Text)) Then
MsgBox "请输入数字!", vbOKOnly + vbExclamation, "警告"
Exit Sub
txtClassno.SetFocus
End If
If Not Testtxt(comboGrade.Text) Then
MsgBox "请选择年级!", vbOKOnly + vbExclamation, "警告"
comboGrade.SetFocus
Exit Sub
End If
If Not Testtxt(txtDirector.Text) Then
MsgBox "请输入班主任姓名!", vbOKOnly + vbExclamation, "警告"
txtDirector.SetFocus
Exit Sub
End If
If Not Testtxt(txtClassroom.Text) Then
MsgBox "请输入教室号码!", vbOKOnly + vbExclamation, "警告"
txtClassroom.SetFocus
Exit Sub
End If
mrc.Delete
txtSQL = "select * from class_Info where class_No = '" & Trim(txtClassno.Text) & "'"
Set mrcc = ExecuteSQL(txtSQL, MsgText)
If mrcc.EOF = False Then
MsgBox "班号重复,请重新输入!", vbOKOnly + vbExclamation, "警告"
mrcc.Close
txtClassno.SetFocus
Else
mrcc.Close '关闭连接
mrc.AddNew
mrc.Fields(0) = Trim(txtClassno.Text)
mrc.Fields(1) = Trim(comboGrade.Text)
mrc.Fields(2) = Trim(txtDirector.Text)
mrc.Fields(3) = Trim(txtClassroom.Text)
mrc.Update
MsgBox "修改班级信息成功!", vbOKOnly + vbExclamation, "警告"
mrc.Book = myBook
Call viewData
Frame2.Enabled = True
firstCommand.Enabled = True
previousCommand.Enabled = True
nextCommand.Enabled = True
lastCommand.Enabled = True
txtClassno.Enabled = False
comboGrade.Enabled = False
txtDirector.Enabled = False
txtClassroom.Enabled = False
mcclean = True
End If
End SubPublic Sub viewData()
txtClassno.Text = mrc.Fields(0)
comboGrade.Text = mrc.Fields(1)
txtDirector.Text = mrc.Fields(2)
txtClassroom.Text = mrc.Fields(3)
End Sub
这是更新过程的代码,更新了的内容不能更改后马上以新的数据显示出来!!!!求指教!!!!!!
Dim txtSQL As String
Dim MsgText As String
Dim mrcc As ADODB.Recordset
If mcclean Then
MsgBox "请先修改班级信息", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
If Not Testtxt(txtClassno.Text) Then
MsgBox "请输入班号!", vbOKOnly + vbExclamation, "警告"
txtClassno.SetFocus
Exit Sub
End If
If Not IsNumeric(Trim(txtClassno.Text)) Then
MsgBox "请输入数字!", vbOKOnly + vbExclamation, "警告"
Exit Sub
txtClassno.SetFocus
End If
If Not Testtxt(comboGrade.Text) Then
MsgBox "请选择年级!", vbOKOnly + vbExclamation, "警告"
comboGrade.SetFocus
Exit Sub
End If
If Not Testtxt(txtDirector.Text) Then
MsgBox "请输入班主任姓名!", vbOKOnly + vbExclamation, "警告"
txtDirector.SetFocus
Exit Sub
End If
If Not Testtxt(txtClassroom.Text) Then
MsgBox "请输入教室号码!", vbOKOnly + vbExclamation, "警告"
txtClassroom.SetFocus
Exit Sub
End If
mrc.Delete
txtSQL = "select * from class_Info where class_No = '" & Trim(txtClassno.Text) & "'"
Set mrcc = ExecuteSQL(txtSQL, MsgText)
If mrcc.EOF = False Then
MsgBox "班号重复,请重新输入!", vbOKOnly + vbExclamation, "警告"
mrcc.Close
txtClassno.SetFocus
Else
mrcc.Close '关闭连接
mrc.AddNew
mrc.Fields(0) = Trim(txtClassno.Text)
mrc.Fields(1) = Trim(comboGrade.Text)
mrc.Fields(2) = Trim(txtDirector.Text)
mrc.Fields(3) = Trim(txtClassroom.Text)
mrc.Update
MsgBox "修改班级信息成功!", vbOKOnly + vbExclamation, "警告"
mrc.Book = myBook
Call viewData
Frame2.Enabled = True
firstCommand.Enabled = True
previousCommand.Enabled = True
nextCommand.Enabled = True
lastCommand.Enabled = True
txtClassno.Enabled = False
comboGrade.Enabled = False
txtDirector.Enabled = False
txtClassroom.Enabled = False
mcclean = True
End If
End SubPublic Sub viewData()
txtClassno.Text = mrc.Fields(0)
comboGrade.Text = mrc.Fields(1)
txtDirector.Text = mrc.Fields(2)
txtClassroom.Text = mrc.Fields(3)
End Sub
这是更新过程的代码,更新了的内容不能更改后马上以新的数据显示出来!!!!求指教!!!!!!
Dim txtSQL As String
Dim MsgText As String
Dim mrcc As ADODB.Recordset
If mcclean Then
MsgBox "请先修改班级信息", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
If Not Testtxt(txtClassno.Text) Then
MsgBox "请输入班号!", vbOKOnly + vbExclamation, "警告"
txtClassno.SetFocus
Exit Sub
End If
If Not IsNumeric(Trim(txtClassno.Text)) Then
MsgBox "请输入数字!", vbOKOnly + vbExclamation, "警告"
Exit Sub
txtClassno.SetFocus
End If
If Not Testtxt(comboGrade.Text) Then
MsgBox "请选择年级!", vbOKOnly + vbExclamation, "警告"
comboGrade.SetFocus
Exit Sub
End If
If Not Testtxt(txtDirector.Text) Then
MsgBox "请输入班主任姓名!", vbOKOnly + vbExclamation, "警告"
txtDirector.SetFocus
Exit Sub
End If
If Not Testtxt(txtClassroom.Text) Then
MsgBox "请输入教室号码!", vbOKOnly + vbExclamation, "警告"
txtClassroom.SetFocus
Exit Sub
End If
mrc.Delete
txtSQL = "select * from class_Info where class_No = '" & Trim(txtClassno.Text) & "'"
Set mrcc = ExecuteSQL(txtSQL, MsgText)
If mrcc.EOF = False Then
MsgBox "班号重复,请重新输入!", vbOKOnly + vbExclamation, "警告"
mrcc.Close
txtClassno.SetFocus
Else
mrcc.Close '关闭连接
mrc.AddNew
mrc.Fields(0) = Trim(txtClassno.Text)
mrc.Fields(1) = Trim(comboGrade.Text)
mrc.Fields(2) = Trim(txtDirector.Text)
mrc.Fields(3) = Trim(txtClassroom.Text)
mrc.Update
MsgBox "修改班级信息成功!", vbOKOnly + vbExclamation, "警告"
mrc.Book = myBook
Call viewData
Frame2.Enabled = True
firstCommand.Enabled = True
previousCommand.Enabled = True
nextCommand.Enabled = True
lastCommand.Enabled = True
txtClassno.Enabled = False
comboGrade.Enabled = False
txtDirector.Enabled = False
txtClassroom.Enabled = False
mcclean = True
End If
End SubPublic Sub viewData()
txtClassno.Text = mrc.Fields(0)
comboGrade.Text = mrc.Fields(1)
txtDirector.Text = mrc.Fields(2)
txtClassroom.Text = mrc.Fields(3)
End Sub注意红色部分,你的mrc不光光在最外围定义了一个全局的,在那个sub过程中还有个局部的,所以你那个viewdata里面用的还是全局的那个mrc。
修改方法1:
将Call viewData直接改成:
txtClassno.Text = mrc.Fields(0)
comboGrade.Text = mrc.Fields(1)
txtDirector.Text = mrc.Fields(2)
txtClassroom.Text = mrc.Fields(3)修改方法2:
Call viewData修改成:
Call viewData(mrc)过程
Public Sub viewData()
txtClassno.Text = mrc.Fields(0)
comboGrade.Text = mrc.Fields(1)
txtDirector.Text = mrc.Fields(2)
txtClassroom.Text = mrc.Fields(3)
End Sub
修改成:
Public Sub viewData(mrc)
txtClassno.Text = mrc.Fields(0)
comboGrade.Text = mrc.Fields(1)
txtDirector.Text = mrc.Fields(2)
txtClassroom.Text = mrc.Fields(3)
End Sub