VB "当打开有模式窗体时不能显示无模式窗体"

lflyjlzr 2016-04-06 05:00:11
子窗体form6(会员管理)点击“新增会员"按钮,加载form7(新增会员)。
Private Sub Command1_Click()
Form7.Show 1
End Sub

双击Mshflexgrid1,加载窗体8(会员修改)。
Private Sub MSHFlexGrid1_DblClick()
If MSHFlexGrid1.Rows > 2 Then
Form8.Show 1
Else
Exit Sub
End If
End Sub

form7"确定”按钮
Private Sub Command2_Click()
......
Unload Form6
Form6.Show
Unload Form7
End Sub

form8"确定"按钮
Private Sub Command2_Click()
......
Unload Form6
Form6.Show
Unload Form8
End Sub


运行时form7确定无错误,form8确定出现“实时错误‘401’:当打开有模式窗体时不能显示无模式窗体“

实在想不明白为什么,求助!!!




...全文
1354 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZHRXJR 2016-04-19
  • 打赏
  • 举报
回复
其实这个会员查询、会员添加、会员修改、会员删除,完全可以在一个窗体就能够完成,为什么要搞得那么复杂。
arthaslsq 2016-04-19
  • 打赏
  • 举报
回复
from?? show 0 都这样 全部采用非模态,就不会出现这个错误了
vansoft 2016-04-09
  • 打赏
  • 举报
回复
首先告诉你,打开模式窗体后,是可以再打开一个模式窗体,可以不停地打开模式窗体。 其实,对于数据的增删改,没必要用那么多模式,就象楼上说的,放在一个窗体上好了。
笨狗先飞 2016-04-06
  • 打赏
  • 举报
回复
对窗口的理解还需要更深刻
form8"确定"按钮
Private Sub Command2_Click()
......
Unload Form6
Form6.Show <=这个Form6是无模式方式打开的,代码不该在form8里的,先unload掉form8就不会出错了,问题是这代码不该在form8里
Unload Form8
End Sub
ZHRXJR 2016-04-06
  • 打赏
  • 举报
回复
好像打开窗体与关闭窗体没有规律性,一般在程序中打开某个窗体只能打开一次,关闭也是一样,在窗体关闭后,才能再次打开,从你的代码中看出好像多次关闭打开,而且打开与关闭的顺序好像也有问题。 另外,实际上会员管理就一个窗体就能解决问题,不知道你为什么搞了好几个窗体,查询、添加、修改、删除全部在一个窗体不好吗?
lflyjlzr 2016-04-06
  • 打赏
  • 举报
回复
form7 “确定”按钮代码
Private Sub Command2_Click()
Adodc1.RecordSource = "select * from 会员管理"
Adodc1.Refresh
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("会员编号") = Text1.Text
Adodc1.Recordset.Fields("会员姓名") = Text2.Text
Adodc1.Recordset.Fields("首字母") = Text3.Text
If Text4.Text = "" Then
Adodc1.Recordset.Fields("会员生日") = CDate("1601 - 1 - 1")
Else
Adodc1.Recordset.Fields("会员生日") = CDate(Text4.Text)
End If
Adodc1.Recordset.Fields("电话") = Text5.Text
Adodc1.Recordset.Fields("会员分组") = Combo1.Text
Adodc1.Recordset.Fields("消费总额") = Text6.Text
Adodc1.Recordset.Fields("可用积分") = Text7.Text
Adodc1.Recordset.Fields("最后消费日期") = CDate("1601-1-1")
Adodc1.Recordset.Update
Unload Form6
Form6.Show
Unload Form7

End Sub



form8 "确定"按钮代码
Private Sub Command2_Click()
Adodc1.RecordSource = "select * from 会员管理 where 会员编号='" & Text1.Text & "'"
Adodc1.Refresh
Adodc1.Recordset.Fields("会员编号") = Text1.Text
Adodc1.Recordset.Fields("会员姓名") = Text2.Text
Adodc1.Recordset.Fields("首字母") = Text3.Text
If Text4.Text = "" Then
Adodc1.Recordset.Fields("会员生日") = CDate("1601 - 1 - 1")
Else
Adodc1.Recordset.Fields("会员生日") = CDate(Text4.Text)
End If
Adodc1.Recordset.Fields("电话") = Text5.Text
Adodc1.Recordset.Fields("会员分组") = Combo1.Text
Adodc1.Recordset.Fields("消费总额") = Text6.Text
Adodc1.Recordset.Fields("可用积分") = Text7.Text
Adodc1.Recordset.Fields("最后消费日期") = CDate("1601-1-1")
Adodc1.Recordset.Updatef
Unload Form6
Form6.Show
Unload Form8
End Sub


我新建一个父窗体,子窗体上有两个按钮,弹出两个窗体,两个窗体上的按钮代码
unload form1
fom1.show
unload form2 和unload form3
运行正常

我就觉得很诡异了。。。
lflyjlzr 2016-04-06
  • 打赏
  • 举报
回复



7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧