Foxtable(狐表)用户栏目专家坐堂 → [求助]从其它表取值


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

主题:[求助]从其它表取值

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


加好友 发短信
等级:幼狐 帖子:150 积分:2120 威望:0 精华:0 注册:2008/9/10 22:48:00
[求助]从其它表取值  发帖心情 Post By:2008/9/13 22:44:00 [只看该作者]

我想在合同表中,根据栋号、层数、房号从房源表中取得对应的房屋编号,用易表的时候,用findtext函数很方便,看了Foxtable的帮助文件试着用了很多办法,总是弄不出来,请高手指点一下。该列我想用作关联列,所以不能用表达式,要用计算代码!

合同表的房屋编号列的计算代码:

dim r as integer
r = tables("房源").findrow("[栋号] = e.datarow("栋号") and [层数]= e.datarow("层数") and [房号]=e.datarow("现房号")",1,false)
e.datarow("房屋编号")=tables("房源").rows(r)("房屋编号")


不知错在哪里?



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

[此贴子已经被作者于2008-9-13 23:44:09编辑过]

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2008/9/14 0:13:00 [只看该作者]

 

Dim dt As DataTable = DataTables("房源")

Dim r As DataRow

r = dt.Find("[栋号] = '" & e.datarow("栋号") & "' And [层数]= '" & e.datarow("层数") & "' and [房号]= '" & e.datarow("房号") & "'")

e.datarow("房屋编号") = r("房屋编号")


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


加好友 发短信
等级:一尾狐 帖子:492 积分:4243 威望:0 精华:0 注册:2008/9/1 20:47:00
  发帖心情 Post By:2008/9/14 0:15:00 [只看该作者]

确实要多看帮助,请参考AfterEdit事件的帮助例题

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


加好友 发短信
等级:幼狐 帖子:150 积分:2120 威望:0 精华:0 注册:2008/9/10 22:48:00
  发帖心情 Post By:2008/9/17 21:57:00 [只看该作者]

谢谢,已经解决了,关键是表达式和字符串没理解明白!

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


加好友 发短信
等级:幼狐 帖子:109 积分:962 威望:0 精华:0 注册:2008/9/6 15:28:00
  发帖心情 Post By:2008/9/17 23:13:00 [只看该作者]

这个倒得认真研究一下,以后用的地方会比较多的.
顺便问一下czy版主:

Dim dt As DataTable = DataTables("房源")

Dim r As DataRow

r = dt.Find("[栋号] = '" & e.datarow("栋号") & "' And [层数]= '" & e.datarow("层数") & "' and [房号]= '" & e.datarow("房号") & "'")

e.datarow("房屋编号") = r("房屋编号")


这个代码中第三行的e.datarow可以写成e.r吗?这个datarow不是在第二行已经定义给r 了吗

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2008/9/17 23:35:00 [只看该作者]

第二行定义的只是个类,并未存在实际的数据
第三行才真正将符合条件的数据存放在这个类中。
不过你倒可以直接这样写

Dim r As DataRow = dt.Find("[栋号] = '" & e.datarow("栋号") & "' And [层数]= '" & e.datarow("层数") & "' and [房号]= '" & e.datarow("房号") & "'")


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


加好友 发短信
等级:婴狐 帖子:9 积分:135 威望:0 精华:0 注册:2008/9/12 23:05:00
  发帖心情 Post By:2008/9/17 23:41:00 [只看该作者]

Dim r As DataRow,只是定义了r是行记录的类型,此时还没有实例,即还没有具体意义上的行记录,e.datarow表示当前表的当前行记录,e.datarow("栋号")  才是具体的对当前行的"栋号"列的取值。再说,r还没有形成结果呢,就自己调用自己,逻辑上也不对。


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


加好友 发短信
等级:幼狐 帖子:109 积分:962 威望:0 精华:0 注册:2008/9/6 15:28:00
  发帖心情 Post By:2008/9/17 23:47:00 [只看该作者]

非常三克油

 回到顶部