Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共6 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助]狐狸爸爸进来一下,谢谢

1楼
beiliyukun 发表于:2011/9/26 13:16:00

比如我有1个表A

表A里有3列分别A,B,C,

我现在想实现的效果是A列

     如果输入的值是1,则B,C列无法输入任何值,必须为空

     如果输入的值是2,则B,C列可以填写数值

2楼
kylin 发表于:2011/9/26 13:30:00

1、表A的DataColChanged事件中设置如下代码:

If e.DataCol.Name = "A" Then

   If e.NewValue <> 2 Then
      e.
DataRow("B") = Nothing 

      e.DataRow("C") = Nothing
    End If
End
If

 

2、表A的PrepareEdit事件设置如下代码:

If e.Col.Name = "B" Or e.Col.Name = "C" Then

  If e.Row("A") <> 2 then 
     e.Cancel = True
  End
If

End If

[此贴子已经被作者于2011-9-26 13:30:50编辑过]
3楼
beiliyukun 发表于:2011/9/26 14:37:00

我按照你说的做了好像不对哦~~~,要不这样说吧

表A里有2列分别B,C,

我现在想实现的效果

     如果B列输入的值为 "是" 这个字,则C列无法输入任何值,必须为空

     如果B列输入的值是 "否"这个字,则C列可以正常输入

怎么做呢???狐狸爸爸

4楼
狐狸爸爸 发表于:2011/9/26 15:10:00

PrepareEdit事件:

 

If e.col.name = "C" Then
    If e.Row("B") = "否" Then
        e.Cancel = True
    End If
End If

5楼
mr725 发表于:2011/9/26 15:51:00

不能放在PrepareEdit事件中!否则不好加提示了。

 

1、表A的StartEdit事件设置如下代码:

 

If e.Col.Name = "C" Then
    If e.Row("B") = "否" Then

    elseIf e.Row("A") = "是" Then
        messagebox.show("B列=是,不许编辑")
        e.Cancel = True
    End If
End If

 

2、表A的DataColChanged事件中设置如下代码:

 

If e.DataCol.Name = "B" Then
   If e.NewValue = "是" Then 
      e.DataRow("C") = Nothing
    End If
End If

[此贴子已经被作者于2011-9-26 16:01:35编辑过]
6楼
狐狸爸爸 发表于:2011/9/26 16:11:00
呵呵,楼主没有要求加提示啊。
共6 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 2 queries.