以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  一个bug  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=124040)

--  作者:rjh4078
--  发布时间:2018/8/29 14:35:00
--  一个bug
Dim t As Table=Tables(vars("当前表"))
Dim fl As String
Dim tb As Table=Tables("筛选条件")
For i As Integer=0 To tb.Rows.Count-1
    Dim bj As String
    Dim r As Row=tb.rows(i)
    Select Case r("比较")
        Case "大于"
            bj=">"
        Case "小于"
            bj="<"
        Case "等于"
            bj="="
        Case "不等于"
            bj="<>"
        Case "类似"
            bj="like"
    End Select

        fl=tb.Rows(i+1)("连接") & " " & r("列名") & bj & r("内容") & " "  &  fl
      
Next
MessageBox.show(fl)
如果只有一列 tb.Rows(i+1)("第一列") 显示为“第一列”即列名 而不是对应的行值
表结构如下

图片点击可在新窗口打开查看此主题相关图片如下:tim截图20180828084847.png
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2018/8/29 14:54:00
--  

1、tb.Rows(i+1)("第一列") 为什么要i+1?i才是循环的行;

 

2、你不能判断表格有没有数据?是否为空白行?


--  作者:rjh4078
--  发布时间:2018/8/29 21:53:00
--  
我有一个判断 但是判断的结果不是空值 而是第一列 
这个tb.Rows(i+1) 是有前序判断的 我做了简化

--  作者:有点甜
--  发布时间:2018/8/29 22:23:00
--  

1、判断数据是否为空

 

If Tables("表A").Rows.Count = 0 Then

    msgbox("没有数据")

 

2、判断获取的那一行是不是超过了总行数

 

If Tables("表A").Rows.Count <= i+1 Then

    msgbox("i+1超出了总行数")