以文本方式查看主题

-  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
--  
嗯,好了,非常感谢图片点击可在新窗口打开查看