以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于AllowEdit,允许编辑。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=125881)

--  作者:tovot
--  发布时间:2018/10/9 10:18:00
--  关于AllowEdit,允许编辑。
如果一个表有很多字段,只有一两个字段允许允许编辑。最简化的代码怎么写呢
--  作者:tovot
--  发布时间:2018/10/9 11:11:00
--  
自己顶一下,是不是只能挨个字段的设置AllowEdit=false
--  作者:有点甜
--  发布时间:2018/10/9 11:15:00
--  
以下是引用tovot在2018/10/9 11:11:00的发言:
自己顶一下,是不是只能挨个字段的设置AllowEdit=false

 

比如

 

For Each c As Col In Tables("表A").Cols
    If c.name = "第一列" OrElse c.name = "第二列" Then
        c.AllowEdit = True
    Else
        c.AllowEdit = False
    End If
Next


--  作者:tovot
--  发布时间:2018/10/9 11:35:00
--  
在表格的PrepareEdit事件里这样写也可以实现
If e.Col.Name <> "字段一" Then
    e.Cancel = True
End If
字段少的情况下可以用OrElse来做,如果字段多的话能否通过定义数组或者集合来实现?
望老师帮忙写个例子!

--  作者:tovot
--  发布时间:2018/10/9 12:09:00
--  
再顶一下
--  作者:有点甜
--  发布时间:2018/10/9 12:32:00
--  
以下是引用tovot在2018/10/9 11:35:00的发言:
在表格的PrepareEdit事件里这样写也可以实现
If e.Col.Name <> "字段一" Then
    e.Cancel = True
End If
字段少的情况下可以用OrElse来做,如果字段多的话能否通过定义数组或者集合来实现?
望老师帮忙写个例子!

 

select Case e.col.name

   case "第一列", "第二列"

 

   case else

 

end select

 

http://www.foxtable.com/webhelp/scr/0224.htm