Foxtable(狐表)用户栏目专家坐堂 → 非常规跨表引用,如何写代码?


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

主题:非常规跨表引用,如何写代码?

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


加好友 发短信
等级:童狐 帖子:212 积分:1564 威望:0 精华:0 注册:2011/7/20 21:00:00
非常规跨表引用,如何写代码?  发帖心情 Post By:2011/8/23 21:16:00 [只看该作者]

非常规跨表引用,如何写代码?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:住院收费.rar


项目中“住院信息”表“本月伙食费”列需要引用“收费项目”表“餐费标准”行的单价进行计算,
请教如何引用?最好是全局代码。
“本月伙食费”列的天数代码已经写好,就等引用单价,“本月伙食费”=天数*餐费标准单价。



我在代码窗口写了如下代码,执行后错误。请教老师如何编写?
Dim cf As String = DataTables("收费项目").Find("[拼音码] = "jcbz"")
Output.Show(cf)

“住院信息”表“本月伙食费”列要引用“收费项目”表“餐费标准”行的单价,但是“住院信息”表不存在相应的“拼音码”列。
[此贴子已经被作者于2011-8-23 21:40:55编辑过]

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


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

            Dim dr1 As DataRow = DataTables("收费项目").Find("项目名称 = '餐费标准'")
            e.DataRow("本月伙食费") =(DataTables("长期医嘱").Compute("max(停嘱日期)","[住院号] = '" & e.DataRow("住院号") & "'")- DataTables("长期医嘱").Compute("min(开嘱日期)","[住院号] = '" & e.DataRow("住院号") & "'")).TotalDays * dr1("单价")

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


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

1、代码为什么要那么长,分成几个短句,看起来没那么累的。

2、我没有觉得有什么非常规啊,不就是从收费标准项目中找出餐费标准来计算吗:

 

Dim cr As DataRow = DataTables("收费项目").find("项目名称 = '餐费标准'")
Dim dt1 As Date = DataTables("长期医嘱").Compute("max(停嘱日期)","[住院号] = '" & e.DataRow("住院号") & "'")
Dim dt2 As Date = DataTables("长期医嘱").Compute("min(开嘱日期)","[住院号] = '" & e.DataRow("住院号") & "'")
e.DataRow("本月伙食费") =(dt1-dt2).TotalDays * cr("单价")

 

 

[此贴子已经被作者于2011-8-23 22:02:13编辑过]

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


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

呵呵,老是落后老曹一步

 

图片点击可在新窗口打开查看


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


加好友 发短信
等级:童狐 帖子:212 积分:1564 威望:0 精华:0 注册:2011/7/20 21:00:00
  发帖心情 Post By:2011/8/23 22:06:00 [只看该作者]

谢谢czy版主,学习了,原来直接引用的条件是这样的Find("项目名称 = '餐费标准'")

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


加好友 发短信
等级:童狐 帖子:212 积分:1564 威望:0 精华:0 注册:2011/7/20 21:00:00
  发帖心情 Post By:2011/8/23 22:11:00 [只看该作者]

谢谢两位老师,我比您们都落后。

又学了一招,很有用,很多地方都需要,举一反三。
[此贴子已经被作者于2011-8-23 22:12:36编辑过]

 回到顶部