以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  这二代码,功能冲突,如何处理?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=185931)

--  作者:lin98
--  发布时间:2023/3/26 12:57:00
--  这二代码,功能冲突,如何处理?
这二代码,功能冲突,如何处理?


Dim t1 As String = e.form.controls("TextBox1").text 
Dim t2 As String = e.form.controls("ComboBox1").text 
Dim t3 As String = e.form.controls("ComboBox2").text 
Dim t4 As String = e.form.controls("TextBox9").text 
Dim t5 As String = e.form.controls("TextBox10").text 
Dim t6 As String = e.form.controls("ComboBox5").text 
Dim t7 As String = e.form.controls("DateTimePicker1").text 

e.form.controls("按键1").enabled = Not ( t1 = "" OrElse t2 = "" _
OrElse t3 = "" OrElse t4 = "" OrElse t5 = "" _
OrElse t6 = "" OrElse t7 = "") 

--------------------------------------------------


If DataTables("表A").compute("count(审核)", "审核=false") > 0 Then
    forms("入库登记").controls("按键1").enabled = False
 
Else
    forms("入库登记").controls("按键1").enabled = True
    
End If


---------------------------------------------------------------

--  作者:有点蓝
--  发布时间:2023/3/26 20:49:00
--  
想要做什么判断?得到什么结果?
--  作者:lin98
--  发布时间:2023/3/26 22:10:00
--  
需求:

如果  t1、t2、t3t4、t5、t6t7为空  和   "表A").compute("count(审核)", "审核=false"

入库登记窗口上的按键1,为不编辑

否则
入库登记窗口上的按键1,为编辑




--  作者:有点蓝
--  发布时间:2023/3/26 22:37:00
--  
去掉第二段代码,

e.form.controls("按键1").enabled = Not ( t1 = "" OrElse t2 = "" _
OrElse t3 = "" OrElse t4 = "" OrElse t5 = "" _
OrElse t6 = "" OrElse t7 = "") andalso DataTables("表A").compute("count(审核)", "审核=false") = 0

--  作者:lin98
--  发布时间:2023/3/27 11:04:00
--  
需求:如果表A的"保存状态=True"和 "表B"的 "审核=false"时, 按键2为不可编辑.执行下面代码,没报错,但无效,没任何反应。如何处理?

e.form.controls("按键2").enabled = DataTables("表A").compute("count(保存状态)", "保存状态=True") _
AndAlso DataTables("表B").compute("count(审核)", "审核=false") = 0

--  作者:有点蓝
--  发布时间:2023/3/27 11:15:00
--  
e.form.controls("按键2").enabled = DataTables("表A").compute("count(保存状态)", "保存状态=false")>0 orelse DataTables("表B").compute("count(审核)", "审核=false") = 0

--  作者:lin98
--  发布时间:2023/3/27 13:04:00
--  
e.form.controls("按键2").enabled = DataTables("表A").compute("count(保存状态)", "保存状态=True")>0 orelse DataTables("表B").compute("count(审核)", "审核=false") = 0

测试一下条件满足,但没有反应

图片点击可在新窗口打开查看此主题相关图片如下:窗口限制-01.jpg
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2023/3/27 13:38:00
--  
e.form.controls("按键2").enabled = DataTables("表A").compute("count(保存状态)", "保存状态=false")>0 orelse DataTables("表B").compute("count(审核)", "审核=true") > 0
[此贴子已经被作者于2023/3/27 13:39:02编辑过]

--  作者:lin98
--  发布时间:2023/3/28 0:10:00
--  
老师,我测试一下,代码放在窗口打开后事件,是可以实现,但需做一次后,要重新打开一次,才能生效,这样不太友好,我把它放在窗口全局事件里,代码执行没反应

需求:如果表A的只对"保存状态=True"和 "表B"的 "审核=全false"时, 按键2为不可编辑.

说明:表A的只对"保存状态=True","表B"的 "审核=全false"时, 按键2为不可编辑,当表A的有一条"保存状态=全false","表B"的 "审核=全false"时, 按键2为可编辑

--  作者:有点蓝
--  发布时间:2023/3/28 8:29:00
--  
类似这里6楼的用法:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=185891&skin=0

改改放到datacolchanged事件里