以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]窗口权限公式  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=68828)

--  作者:wusim
--  发布时间:2015/5/26 7:03:00
--  [求助]窗口权限公式
Dim ctl As WinForm.Control = e.Sender
If Tables("表A").Current.DataRow.SQLGetValue("确认").Gettype.Name = "DBNull" Then  \'确认是空值
    ctl.ReadOnly = BooleanEnum.False \'可以编辑
Else
    ctl.ReadOnly = BooleanEnum.True \'禁止编辑
End If

现在窗口中有二个没有绑定列的文本框(单位查找与出厂编号查找),要求确认列什么状态这两个文本框都可以编辑,请问公式怎样改?

--  作者:Bin
--  发布时间:2015/5/26 8:44:00
--  
这个代码,和  你说的那两个控件没关系啊.

你不要把代码放到那两个控件的事件即可

--  作者:wusim
--  发布时间:2015/5/26 9:13:00
--  
1楼的代码我在窗口的全局事件Enter事件中设置的。 窗口中二个没有绑定列的文本框(单位查找与出厂编号查找)与绑定列是同一个窗口的。应该怎样处理?
--  作者:大红袍
--  发布时间:2015/5/26 9:17:00
--  

 判断名称

 

Dim ctl As WinForm.Control = e.Sender
If ctl.Name <> "TextBox1" AndAlso ctl.Name <> "TextBox2" Then
    If Tables("表A").Current.DataRow.SQLGetValue("确认").Gettype.Name = "DBNull" Then  \'确认是空值
        ctl.ReadOnly = BooleanEnum.False \'可以编辑
    Else
        ctl.ReadOnly = BooleanEnum.True \'禁止编辑
    End If
End If

 

[此贴子已经被作者于2015/5/26 15:22:05编辑过]

--  作者:wusim
--  发布时间:2015/5/26 15:18:00
--  

4楼代码报错

 


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

--  作者:大红袍
--  发布时间:2015/5/26 15:22:00
--  
 把 Then 左边的括号去掉
--  作者:wusim
--  发布时间:2015/5/26 15:37:00
--  

4楼代码报错

 

Dim ctl As WinForm.Control = e.Sender
If ctl.Name <> "单位查找" AndAlso ctl.Name <> "出厂编号查找") Then
    If Tables("表A").Current.DataRow.SQLGetValue("确认").Gettype.Name = "DBNull" Then  \'确认是空值
        ctl.ReadOnly = BooleanEnum.False \'可以编辑
    Else
        ctl.ReadOnly = BooleanEnum.True \'禁止编辑
    End If
End If


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2015/5/26 15:37:39编辑过]

--  作者:Bin
--  发布时间:2015/5/26 15:39:00
--  
括号去掉 

If ctl.Name <> "单位查找" AndAlso ctl.Name <> "出厂编号查找" Then

--  作者:wusim
--  发布时间:2015/5/26 15:40:00
--  
可以了,自己粗心了