以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=34215) |
-- 作者:wfan0102 -- 发布时间:2013/6/3 8:29:00 -- [求助] 假如有表A(有a,b两列),表B(有a,b两列),表B的a列为列表项目(数据来源于表A的a列),开启输入助手允许手工输入数据,要求:手工输入表B中a列内容的时候判断数据是否属于表A中a列的数据。如何判断呢?? |
-- 作者:Bin -- 发布时间:2013/6/3 8:43:00 -- 利用 dim dr as datarow = datatables("表A").FInd("A列=\'XX\'") 判断一下DR是否为空就知道有没找到表A的数据了 if dr is nothing then
|
-- 作者:gsnake -- 发布时间:2013/6/3 8:43:00 -- 看看帮助FIND |
-- 作者:wfan0102 -- 发布时间:2013/6/3 9:54:00 -- 现在是如何 取到 输入表B中a列的值呢??要动态的取,不是固定一个值 |
-- 作者:wfan0102 -- 发布时间:2013/6/3 9:56:00 -- 利用 dim dr as datarow = datatables("表A").FInd("A列=\'datatables("表B").datacols("A列")\'") 么? |
-- 作者:Bin -- 发布时间:2013/6/3 9:57:00 -- 在DataColChanged事件中,这些帮助中都有的. 新手一定要静下心来看帮助. |
-- 作者:XYT -- 发布时间:2013/6/3 9:57:00 -- 你是在表A取表B的值吗? If e.DataCol.Name = "产品编号" Then \'发生变化的是产品编号吗? 可以参考下这个代码 |
-- 作者:狐狸爸爸 -- 发布时间: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编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2013/6/3 10:04:00 -- 还有动态合成表达式也应该看看: http://www.foxtable.com/help/topics/1284.htm
|
-- 作者:wfan0102 -- 发布时间:2013/6/3 10:13:00 -- 感谢大家的帮助,有了这些思路可以解决其他的问题。狐狸爸爸的代码就是我想要的,再次感谢 |