Foxtable(狐表)用户栏目专家坐堂 → [求助]


  共有6625人关注过本帖树形打印复制链接

主题:[求助]

帅哥哟,离线,有人找我吗?
wfan0102
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:23 积分:307 威望:0 精华:0 注册:2012/9/4 17:14:00
[求助]  发帖心情 Post By:2013/6/3 8:29:00 [只看该作者]

假如有表A(有a,b两列),表B(有a,b两列),表B的a列为列表项目(数据来源于表A的a列),开启输入助手允许手工输入数据,要求:手工输入表B中a列内容的时候判断数据是否属于表A中a列的数据。如何判断呢??


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/6/3 8:43:00 [只看该作者]

利用 dim dr as datarow = datatables("表A").FInd("A列='XX'")
判断一下DR是否为空就知道有没找到表A的数据了
 if dr is nothing then

 回到顶部
帅哥哟,离线,有人找我吗?
gsnake
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:682 积分:5263 威望:0 精华:0 注册:2012/6/6 14:37:00
  发帖心情 Post By:2013/6/3 8:43:00 [只看该作者]

看看帮助FIND

 回到顶部
帅哥哟,离线,有人找我吗?
wfan0102
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:23 积分:307 威望:0 精华:0 注册:2012/9/4 17:14:00
  发帖心情 Post By:2013/6/3 9:54:00 [只看该作者]

现在是如何 取到 输入表B中a列的值呢??要动态的取,不是固定一个值


 回到顶部
帅哥哟,离线,有人找我吗?
wfan0102
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:23 积分:307 威望:0 精华:0 注册:2012/9/4 17:14:00
  发帖心情 Post By:2013/6/3 9:56:00 [只看该作者]

利用 dim dr as datarow = datatables("表A").FInd("A列='datatables("表B").datacols("A列")'") 么?

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/6/3 9:57:00 [只看该作者]

在DataColChanged事件中,这些帮助中都有的. 新手一定要静下心来看帮助.

 回到顶部
帅哥哟,离线,有人找我吗?
XYT
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1418 积分:7167 威望:0 精华:0 注册:2013/3/18 8:37:00
  发帖心情 Post By:2013/6/3 9:57:00 [只看该作者]

你是在表A取表B的值吗?

If e.DataCol.Name = "产品编号" Then '发生变化的是产品编号吗?
    '在产品表找出该产品
    Dim dr As DataRow
    dr = DataTables("产品").Find("编号 = " & "'" & e.DataRow("产品编号") & "'" )
    If dr IsNot Nothing '如果找到, 则设置各列内容
        e.DataRow("品名")= dr("品名")
        e.DataRow("型号")= dr("型号")
        e.DataRow("规格")= dr("规格")
    End If
End If

可以参考下这个代码


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/6/3 10:00:00 [只看该作者]

设置表B的DatacolChanging事件:

 

if e.Datacol.name = "a" Andalso e.NewValue > "" then ’如果在a列输入值

  If DataTables("表A").Find("a = '" & e.NewValue & "'")  Is Nothing Then '如果表A的a列不存在此值

     e.Cancel = True '取消输入

  end If

End If

 

参考:

http://www.foxtable.com/help/topics/0396.htm

http://www.foxtable.com/help/topics/0624.htm

 

  

[此贴子已经被作者于2013-6-3 10:02:58编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/6/3 10:04:00 [只看该作者]

还有动态合成表达式也应该看看:

http://www.foxtable.com/help/topics/1284.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
wfan0102
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:23 积分:307 威望:0 精华:0 注册:2012/9/4 17:14:00
  发帖心情 Post By:2013/6/3 10:13:00 [只看该作者]

感谢大家的帮助,有了这些思路可以解决其他的问题。狐狸爸爸的代码就是我想要的,再次感谢


 回到顶部
总数 11 1 2 下一页