以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何根据A列内容选择B列内容?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=11668)

--  作者:yanzhen2010
--  发布时间:2011/8/7 10:46:00
--  如何根据A列内容选择B列内容?


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

 

 

要求:根据“拼音码”内容对“启用”列作出选择。

如果“拼音码”内容不为空值,“启用”可以选择1或0;

如果“拼音码”内容为空值,“启用”自动为0;不能选择1.

 


--  作者:狐狸爸爸
--  发布时间:2011/8/7 10:53:00
--  

这样的问题,通常就设计一个简单的表,输入几行数据传上来,方便大家回复。

你设计一个四列的表,输入几行数据,其实很简单啊。

 


--  作者:yanzhen2010
--  发布时间:2011/8/7 11:12:00
--  
以下是引用狐狸爸爸在2011-8-7 10:53:00的发言:

这样的问题,通常就设计一个简单的表,输入几行数据传上来,方便大家回复。

你设计一个四列的表,输入几行数据,其实很简单啊。

 

我觉得这个问题对于老总和高手来说是个挺简单的问题,所以没有发文件,只借了个图,要求很明确的吗。


--  作者:caiwenzong
--  发布时间:2011/8/7 11:19:00
--  

if e.row("拼音码")=nothing

messagebox.show("拼音码为空,不能用!")

end if


--  作者:caiwenzong
--  发布时间:2011/8/7 11:21:00
--  

老总说的有道理,你不上传附件。帮助者不能保证所写的代码百分之百正确,测试正确后再回答;如果代码不正确,需要二次写代码。


--  作者:狐狸爸爸
--  发布时间:2011/8/7 11:22:00
--  

DataColChanged事件:

 

if e.DataCol.Name = "拼音码" then

   if e.NewValue Is Nothing Then

       e.DataRow("启动") = False

   end if

end if


--  作者:caiwenzong
--  发布时间:2011/8/7 11:23:00
--  
以下是引用狐狸爸爸在2011-8-7 11:22:00的发言:

DataColChanged事件:

 

if e.DataCol.Name = "拼音码" then

   if e.NewValue Is Nothing Then

       e.DataRow("启动") = False

   end if

end if

可能不是楼主所要的答案。


--  作者:yanzhen2010
--  发布时间:2011/8/7 11:29:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:住院收费.rar

 

文件上传。

自己琢磨的个代码,却造成很大错误。If e.DataCol.Name = "启用" Then
    If e.DataRow.Isnull("拼音码") Then
        e.DataRow("启用") = 0
    Else
        e.DataRow("启用") = 0 Or 1
    End If
End If

此代码造成打开文件提示错误,打开后点击"启用"单元格后文件自动关闭。

代码在自动项目表表属性

要求:根据“拼音码”内容对“启用”列作出选择。

如果“拼音码”单元格内容不为空值,“启用”可以手工选择1或0;

如果“拼音码”单元格内容为空值,“启用”自动为0;禁止手工选择.

[此贴子已经被作者于2011-8-7 11:33:24编辑过]

--  作者:yanzhen2010
--  发布时间:2011/8/7 11:58:00
--  
以下是引用狐狸爸爸在2011-8-7 11:22:00的发言:

DataColChanged事件:

 

if e.DataCol.Name = "拼音码" then

   if e.NewValue Is Nothing Then

       e.DataRow("启动") = False

   end if

end if

代码起到一半的作用:

对于"拼音码" 为空的行,"启用"自动为False,禁止作出选择。正确

对于"拼音码" 不为空的行,"启用"自动为true,也禁止作出选择。未达到要求

要求:对于"拼音码" 不为空的行,"启用"可以手工选择true或False

 

 

这样的问题,易表很容易解决:

if ([拼音码]="","启用","=",0,"启用","=", [启用])

在狐表中,逻辑列有的地方用1,0;有的地方用true,false,真得琢磨。

 

 

是不是代码放错了地方?“拼音码”列内容已经存在了,没有再发生变化,我觉得代码不能放在DataColChanged事件中。

 

[此贴子已经被作者于2011-8-7 12:33:54编辑过]

--  作者:布莱克朱
--  发布时间:2011/8/7 12:08:00
--  

if e.DataCol.Name = "拼音码" then

   if e.NewValue Is Nothing Then

       e.DataRow("启动") = False

else

       e.DataRow("启动") = true

   end if

end if