BUG四:有提示框是产生死循环
在每次有提示框的部分总是会出现死循环,后来我发现是因为处理完之后没有跳出过程,即在后面加个Exit Sub即可。(因为sub中还有很多其他命令,所以在提示框后要跳出循环,避免跳不出来)
还有就是在修改过程中,如果没有记录,我们则需要添加(询问用户是否添加),于是我们将修改窗体隐藏,将添加窗体显示,但是添加成功后我们再去查看修改窗体时,则发现它没有及时更新,错误在于我把卸载窗体的位置放错了,大家请看:
错误代码:
- If mrs.BOF And mrs.EOF Then
- a = MsgBox("没有记录,是否添加记录?", vbQuestion + vbYesNo, "提示")
- If a = vbYes Then
- frmModifyClassinfo.Hide
- frmAddClassinfo.Show
- else
- Unload Me
- Exit Sub
- End If
正确代码:
- If mrs.BOF And mrs.EOF Then
- a = MsgBox("没有记录,是否添加记录?", vbQuestion + vbYesNo, "提示")
- If a = vbYes Then
- frmModifyClassinfo.Hide
- frmAddClassinfo.Show
- End If
- Unload Me
- Exit Sub
但是对于添加窗体(比如frmAddsinfo窗体),如果添加到某一项(如班号)没有时,则需要添加该项,这时frmAddsinfo窗体只需隐藏(可保留已经填写的信息)无需卸载。
比如我们的frmAddsinfo中没有班号时:
- If mrs.EOF Then
- MsgBox "请先添加班号!", vbExclamation + vbOKOnly, "提示"
- frmAddsinfo.Hide
- frmAddClassinfo.Show