以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 动态字段的查询  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=47590)

--  作者:bobolan521
--  发布时间:2014/3/13 8:17:00
--  [求助] 动态字段的查询
 For Each s As String In ns
        If s<> "姓名"  And s<>"单据编号" And s<>"员工编号" Then
           
            With Tables("表D")
                Dim r As Integer
                r = .FindRow(" [" & s & "] > 0" ,0 ,True) \'从第一行开始查找
                If r >= 0 Then \'如果找到的话
                    MessageBox.Show(.position)\'定位到找到的行.
                Else
                End If
            End With
           
        End If
    Next
表D是临时表,字段不确定。请问一下,红色代码有语法错误吗? 如果要实现 r = .FindRow(" [" & ns(0) & "] > 0" and  [" & ns(1) & "] and [" & ns(3) & "]...and [" & ns(ns.count-1) & "])  这样查询符合条件的行,代码要怎么修改啊?

--  作者:Bin
--  发布时间:2014/3/13 8:38:00
--  
你字符串片接没错.你确定你变量里面的条件正确吗?

你把拼接的字符串 利用messagebox.show 弹出来看看是否符合你要求.

--  作者:狐狸爸爸
--  发布时间:2014/3/13 17:53:00
--  

除了注意列名要正确,还有你这些列,确定都是数值型,而不是字符型?

如果是字符型,不能和数字0比较,只能和字符\'0\'比较。

 

还有提问的时候,最好贴出错误提示,或者直接在错误提示窗口抓图贴上来。

 


--  作者:bobolan521
--  发布时间:2014/3/14 11:19:00
--  
谢谢狐狸爸爸