以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  验证  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=12282)

--  作者:sxdoc
--  发布时间:2011/8/28 15:14:00
--  验证

一行中包含ABC三列,正确的是只能且必须选填一列,存盘时或者这行编辑完毕时验证代码如何设置


--  作者:sxdoc
--  发布时间:2011/8/28 15:15:00
--  

三列均不填或同时填两列以上均错

 


--  作者:狐狸爸爸
--  发布时间:2011/8/29 8:32:00
--  

用这个事件:
http://www.foxtable.com/help/topics/0628.htm

 

如果是非逻辑列:

 

Dim dr as datarow = e.datarow

dim cnt as integer

cnt  = iif(dr.isnull("a"),0,1) + iif(dr.isnull("b"),0,1) + iif(dr.isnull("c"),0,1)

if cnt <> 1 then

   e.cancel = true

   messagebox.show("错误")

end if

 

如果是逻辑列:

 

Dim dr as datarow = e.datarow

dim cnt as integer

cnt = iif(dr("a"),1,0)  + iif(dr("b"),1,0)  + iif(dr("c"),1,0)

if cnt <> 1 then

    e.cancel = true

    messagebox.show("错误")

end if


 


--  作者:sxdoc
--  发布时间:2011/8/29 11:28:00
--  
我试制行时提示如图-“未命名”
--  作者:sxdoc
--  发布时间:2011/8/29 12:43:00
--  

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

--  作者:yangming
--  发布时间:2011/8/29 13:00:00
--  

用这个事件:
http://www.foxtable.com/help/topics/0628.htm


--  作者:sxdoc
--  发布时间:2011/8/29 15:56:00
--  

具体还是搞不定呀,狐爸帮帮忙


--  作者:狐狸爸爸
--  发布时间:2011/8/29 17:38:00
--  

a、b、c三列,只有一列能输入数据:

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目34.table