以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]从其它表取值 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=485) |
||||
-- 作者:jweishan -- 发布时间: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)("房屋编号") 不知错在哪里?
[此贴子已经被作者于2008-9-13 23:44:09编辑过]
|
||||
-- 作者:czy -- 发布时间: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 -- 发布时间:2008/9/14 0:15:00 -- 确实要多看帮助,请参考AfterEdit事件的帮助例题 |
||||
-- 作者:jweishan -- 发布时间:2008/9/17 21:57:00 -- 谢谢,已经解决了,关键是表达式和字符串没理解明白! |
||||
-- 作者:cowpoke -- 发布时间: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 -- 发布时间:2008/9/17 23:35:00 -- 第二行定义的只是个类,并未存在实际的数据 第三行才真正将符合条件的数据存放在这个类中。 不过你倒可以直接这样写 Dim r As DataRow = dt.Find("[栋号] = \'" & e.datarow("栋号") & "\' And [层数]= \'" & e.datarow("层数") & "\' and [房号]= \'" & e.datarow("房号") & "\'") |
||||
-- 作者:chips -- 发布时间:2008/9/17 23:41:00 -- Dim r As DataRow,只是定义了r是行记录的类型,此时还没有实例,即还没有具体意义上的行记录,e.datarow表示当前表的当前行记录,e.datarow("栋号") 才是具体的对当前行的"栋号"列的取值。再说,r还没有形成结果呢,就自己调用自己,逻辑上也不对。 |
||||
-- 作者:cowpoke -- 发布时间:2008/9/17 23:47:00 -- 非常三克油 |