以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于按键约束问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=147845)

--  作者:lgz518
--  发布时间:2020/3/25 16:47:00
--  关于按键约束问题
需求是窗口上对,新增按键进行约束,在全局:

当前表是表A
Select Case e.Sender.Name
    Case  "表C的进度字段为空" ,  “当前表 A的单号字段不为空”而没保存                              
        e.Form.Controls("新增").Enabled = False     
      
    
    Case "表C的进度字段为完成" ,  “当前表 A的单号字段不为空”而已保存                                
        e.Form.Controls("新增").Enabled = True     
      
        
End Select

上面思路是正确,如果正确那标红文字的条件如何写?谢谢

--  作者:有点蓝
--  发布时间:2020/3/25 17:04:00
--  
到表C的currentchanged事件写代码

dim r as row = e.table.current
if r isnot nothing andalso forms("窗口1").opened
 forms("窗口1").Controls("新增").Enabled = (r("进度") = "完成")
endif

--  作者:lgz518
--  发布时间:2020/3/25 17:35:00
--  
 “当前表 A的单号字段不为空”而没保存, “当前表 A的单号字段不为空”而已保存    
上面红字这部分如何实现,它好象是事件执行,不知怎么写,(就是当前数据没有保存是不能新增)

--  作者:有点蓝
--  发布时间:2020/3/25 17:45:00
--  
没看懂
--  作者:lgz518
--  发布时间:2020/3/26 0:46:00
--  

如果“单号”为空,没值或数据,新增按键为可编辑,
如果“单号”为不空,新增一条记录,没有保存数据,新增按键为不可编辑。

--  作者:狐狸爸爸
--  发布时间:2020/3/26 7:47:00
--  
何必做的这么复杂呢,直接在按钮的Click事件判断:

if  条件符合 Then
    执行代码
else
     提示用户不符合执行条件
End if