以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  有条件删除窗口SQL型Table新增行的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=5963)

--  作者:mr725
--  发布时间:2010/2/10 23:11:00
--  有条件删除窗口SQL型Table新增行的问题
在窗口SQL型Table增加一行时,如果金额列没有填写数字,那么,在离开这个窗口SQLtable的时候想给个提示,如果确定不填写删除该行,不知道代码放在在哪?

哈哈,在窗口的全局事件leave 就可以了,Sorry~     刚才一直在table的事件中没找到相应的地方。。。 
[此贴子已经被作者于2010-2-11 12:33:39编辑过]

--  作者:czy
--  发布时间:2010/2/10 23:21:00
--  
BeforeClose事件吧。
--  作者:mr725
--  发布时间:2010/2/10 23:50:00
--  
以下是引用czy在2010-2-10 23:21:00的发言:
BeforeClose事件吧。

不关闭窗口呀~      
1楼说的leave还有问题, 为什么有时可以离开窗口(这里是SQL型的)table点击另一个按钮或焦点移到窗口中的主表上而没有提示,有些按钮(如:允许窗口table的编辑按钮)点击会正常提示,总之还是没有彻底解决啊~  
反正窗口table中新增了行,金额列又没有输入内容,想离开窗口的这个Table时,要给个提示,确认不输入后,删除该行,看那位有好办法?

[此贴子已经被作者于2010-2-11 0:05:44编辑过]

--  作者:mr725
--  发布时间:2010/2/11 0:04:00
--  
再说明一下,我的这个窗口有一个normal型table,绑定到主表,另一个是SQL型Table,从Access加载的数据,显示的是和主表 编号 列相同的记录,SQL型Table新增行时,如果金额列填写数字,主表的相关列会随之计算。

问题时:在SQL型Table中新增行后,很可能什么也不填写,又在主表选择另一行,这时前面新增行就一直保留在SQL型Table中了, 如果在主表的另一行又同样操作,并完成了另一编号的新增行的全部输入,保存后,后台不是多出一行没有填写金额的行了吗?
[此贴子已经被作者于2010-2-11 0:09:08编辑过]

--  作者:mr725
--  发布时间:2010/2/11 12:29:00
--  
我说明白了吗? 有办法解决吗?  怎么没人回话啊~   要过年了,祝贺大家新年好!!!
--  作者:czy
--  发布时间:2010/2/11 12:52:00
--  
这样的要求是不是可以用定时器(其它好象没合适的地方放代码)?
判断焦点是不是在的啊SqlTable表,判断指定列是不是为空,你可以试试这样行不行。

--  作者:mr725
--  发布时间:2010/2/11 16:48:00
--  
今天公司网络问题,一直上不了。估计焦点也不行,因为我另一个窗口有加载这个SQLTable的查询情况,关闭后回到这个SQLTable中时,也提示,见鬼~    (我代码放在Leave时间中)  刚重启电脑,一会去试一试看~~
焦点应该是这样的表示吧:CurrentTable.Select(1,1)  或 CurrentTable.focus
[此贴子已经被作者于2010-2-11 17:00:01编辑过]

--  作者:mr725
--  发布时间:2010/2/11 17:20:00
--  
窗口全局leave事件: 没反应!!~~
If Tables("fkmx_Table1").Focus =true then
    If Tables("fkmx_Table1").Focus =false Then
        if Tables("fkmx_Table1").current.Isnull("付款金额")
             Messagebox.Show("你离开fkmx_Table1啦 !","提示", )
             Return
        End If
    End If
End If
窗口Table要有个离开(leave)事件就好了

--  作者:mr725
--  发布时间:2010/2/11 17:50:00
--  

试了一天了,非要放在主表的currentChanged事件中才行,真不想增加其负担啊~  
再说,焦点照样可以在其他窗口控件上点击,甚至可以用按钮更换主表的current位置 。 几乎也没什么绝对作用!!! 说明CurrentChange事件对代码换行无效!!!

[此贴子已经被作者于2010-2-11 17:50:19编辑过]