点击右上角的关闭按钮,程序没有正常退出而是发生崩溃(遇到问题需要关闭)
我的程序是这样的:一个数据库(access),一个主窗体(MDI窗体),7个子窗体(MDI子窗体)
7个子窗体的功能都是查询数据库里的对应的表,并显示在表格中,7个子窗体的load里用的代码
都是这样的
Private Sub Form_Load()
Dim txtSQL As String
Dim TxtMsg As String
Dim mrc As ADODB.Recordset
txtSQL = "select * from 读者 ORDER BY 编号 ASC"
Set mrc = ExecuteSQL(txtSQL, TxtMsg)
Set VSGrid.DataSource = mrc
lblCount.Caption = TxtMsg
End Sub
区别就是select语句中的 表名 不同而已
发生问题的时候是当1,2,3,4,5子窗体都打开的时候,点击关闭程序会崩溃,
而当1,2,3,4,5中关闭除了5之外的其他任何一个子窗体,程序都不会发生崩溃
只要不打开5,其他窗体不管打开几个都不会出问题
6,7也打开的时候,只要1,2,3,4有一个没打开就不会出问题。
当打开窗口的顺序是这样的时候不发生错误5,4,3,2,1
其中1和4查询同一个表,2和5查询同一个表
我在程序主界面上做一个退出按钮如果代码写上unload me 也会崩溃
我只有写成这样不会崩溃
unload 1
unload 2
unload 3
unload 4
unload 5
unload 6
unload 7
unload me
但是当点主程序右上角的关闭钮还是会崩溃,请高手帮我分析分析原因,我找了很久就是找不着原因,
虽然是退出的时候发生的错误,对程序没什么影响,但是心里肯定是别扭
问题点数:20、回复次数:3Top
1 楼WallesCai(女人之美,在于蠢得无怨无悔,男人之美,在于撒谎撒得白日见鬼)回复于 2006-03-03 12:22:16 得分 5
如果你的每一个窗体都有数据库连接的话,最好还是先关闭所有窗体再退出程序.
可以把所有窗体定义成数组,然后在MDI窗体的退出事件中用循环来关闭每一个窗体,在退出程序.
在每一个窗体的退出事件中要写好断开数据库的代码.Top
2 楼faysky2(出来混,迟早是要还嘀)回复于 2006-03-03 12:31:34 得分 10
主截面关闭时,关闭所有打开的窗体(最好在关闭子窗体时,断开数据库的连接,并释放所创建的对象):
Private Sub Form_Unload(Cancel As Integer)
Dim f As Form
For Each f In Forms
If f.Name <> Me.Name Then Unload f
Next
Unload Me
End SubTop
3 楼njxl()回复于 2006-03-03 13:31:35 得分 5
Private Sub Form_Unload(Cancel As Integer)
End
End Sub
or
if form1.rs is open then rs.close()
.............................Top




