以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  时间列是字符类型,可以用于条件表达式吗  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=129626)

--  作者:cyrollin
--  发布时间:2019/1/2 20:57:00
--  时间列是字符类型,可以用于条件表达式吗
时间列是字符类型,可以用于条件表达式吗? 不能的话怎么转换?

比如
if e.datarow("时间") > "12:00" then
...
...
end if
[此贴子已经被作者于2019/1/2 21:08:49编辑过]

--  作者:有点甜
--  发布时间:2019/1/2 21:28:00
--  
可以,现在报什么错?
--  作者:cyrollin
--  发布时间:2019/1/3 14:57:00
--  
甜,按条件遍历table表中的一些行, 

For Each r As Row In Tables("表A").Select ("[时间] > \'12:00\'")  ‘好像不正确。 如果是datatables就正确了, 但我只是想在显示的此表按条件遍历。
。。。
。。。
Next


[此贴子已经被作者于2019/1/3 15:09:31编辑过]

--  作者:有点甜
--  发布时间:2019/1/3 15:48:00
--  

改成

 

For Each r As dataRow In dataTables("表A").Select ("[时间] > \'12:00\'" & iif(Tables("表A").filter>"", " and " & Tables("表A").filter, "")) 

[此贴子已经被作者于2019/1/3 15:48:57编辑过]

--  作者:cyrollin
--  发布时间:2019/1/3 16:21:00
--  
哦,还挺复杂的,没我想得那么简单。谢谢甜,

还有, 我要在状态栏显示一个人数, 是这样求值的,您看对不对呢?

Dim n As Integer
For Each r As DataRow In DataTables("表A").Select ("[时间] > \'12:00\'" & iif(Tables("表A").filter>"", " and " & Tables("表A").filter, "")) 
If r("重量") < 200      ’重量小于200斤,需要2个人
 n+= 2
Else If r("重量") > 200  ’重量大于200斤,需要3个人
 n+ = 3
End If
Next
 n = +n

StatusBar.Message1 = "下午需要: " &n&" 人“
[此贴子已经被作者于2019/1/3 16:22:40编辑过]

--  作者:有点甜
--  发布时间:2019/1/3 16:27:00
--  

改成这样吧

 

Dim n As Integer
For Each r As Row In Tables("表A").rows
    If r("时间") > "12:00" Then
        If r("重量") < 200      \'重量小于200斤,需要2个人
            n+= 2
        Else If r("重量") > 200  \'重量大于200斤,需要3个人
            n+= 3
        End If
    End If
Next

StatusBar.Message1 = "下午需要: " & n &" 人"


--  作者:cyrollin
--  发布时间:2019/1/3 17:13:00
--  
可以了,谢谢。 
我加在表的afterload事件中的,可以让这个状态信息一直保持吗? 

StatusBar.Message1 = "下午需要: " &n&" 人“

要用到这个方法??? http://www.foxtable.com/webhelp/index.htm?page=1301.htm
[此贴子已经被作者于2019/1/3 17:33:59编辑过]

--  作者:有点甜
--  发布时间:2019/1/3 18:02:00
--  

可以写到systemIdle,也可以做一个计时器

 

http://www.foxtable.com/webhelp/scr/0657.htm

 

也可以写到datacolchanged事件