以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [求助]新人求助 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=78169)
|
-- 作者:llh0824
-- 发布时间:2015/12/3 14:17:00
-- [求助]新人求助
有两张表分别是“房间信息”和“入住人员信息”,在一个窗口中有一个table,绑定的房间信息表,当某个房间已经住满人,判断房间安排了人员入住条件是“入住人员信息”表的“搬离时间”不为空,将不在table中出现,请教各位怎么实现 此主题相关图片如下:1.png
此主题相关图片如下:2.png
[此贴子已经被作者于2015/12/3 14:21:48编辑过]
|
-- 作者:大红袍
-- 发布时间:2015/12/3 14:35:00
--
Tables("房间信息").Filter = "房号 in (\'" & DataTables("入住信息").GetComboListString("房号", "搬离时间 is null").replace("|", "\',\'") & "\')"
|
-- 作者:llh0824
-- 发布时间:2015/12/3 14:43:00
--
这样变成去掉所有有人住的房间,而不是仅仅住满人的房间
[此贴子已经被作者于2015/12/3 14:43:39编辑过]
|
-- 作者:大红袍
-- 发布时间:2015/12/3 14:48:00
--
住满人什么意思,条件是什么
|
-- 作者:llh0824
-- 发布时间:2015/12/3 14:54:00
--
条件是“入住人数”,也就是当“入住人员信息”这个表中一个房间安排的人数等于“房间信息”表中的“入住人数”这列里面的值的时候,这个房间将不在table中显示
|
-- 作者:大红袍
-- 发布时间:2015/12/3 14:55:00
--
Dim idxs As String = "" For Each dr As DataRow In DataTables("房间信息").datarows Dim count As Integer = DataTables("入住信息").compute("count(房号)", "搬离时间 is null and 房号 = \'" & dr("房号") & "\'") If count = dr("可住人数") Then idxs &= "\'" & dr("房号") & "\'," End If Next
Tables("房间信息").Filter = "房号 in (\'" & idxs.trim(",") & "\')"
|
-- 作者:llh0824
-- 发布时间:2015/12/3 15:06:00
--
谢谢,在命令窗口里输出的是我想要的,但是放到窗口里运行就出现如图提示,
代码是:
Dim idxs As String = "" For Each dr As DataRow In DataTables("房间信息").datarows Dim count As Integer = DataTables("入住人员信息").compute("count(房号)", "搬离时间 is null and 房号 = \'" & dr("房号") & "\'") If count = dr("入住人数") Then idxs &= "\'" & dr("房号") & "\'," End If Next Tables("入住安排_table1").Filter = "房号 not in (\'" & idxs.trim(",") & "\')" 此主题相关图片如下:3.png
|
-- 作者:大红袍
-- 发布时间:2015/12/3 15:11:00
--
代码没问题,不会报错。
|
-- 作者:llh0824
-- 发布时间:2015/12/3 15:15:00
--
嗯,好了,非常感谢
|