以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]定义连字符出错的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=83097)

--  作者:5159518
--  发布时间:2016/3/31 11:16:00
--  [求助]定义连字符出错的问题
Dim gx As String
Dim nms() As String = {"TextBox1","TextBox2","ComboBox1","ComboBox2","ComboBox3","ComboBox4","CheckBox1"}
Dim fgf() As String = {"\'%","%\'","\'%","%\'","\'","\'","\'","\'","\'","\'","\'","\'","\'","\'"}
Dim bjf() As String = {" Like "," Like "," = "," = "," = "," = "," = "}
Dim lms() As String = {"规格型号","mark","类别_大类","类别_小类","封装_类型","封装_引脚","同意采购"}
Dim filter As String
For i As Integer = 0 To nms.Length - 1
    If Forms("技术部审核").Controls(nms(i)).value IsNot Nothing
        If Forms("技术部审核").Controls(nms(i)).Name = "CheckBox1"
            gx = ".Checked"
        Else
            gx = ".value"
        End If        
        If filter > ""
            filter = filter & " And "
        End If
        output.show(gx)
        output.show(Forms("技术部审核").Controls(nms(i)) & ".value")
\'        filter = filter & lms(i) & bjf(i) & fgf(i * 2) & Forms("技术部审核").Controls(nms(i)).value & fgf(i * 2 + 1)
    End If
Next
Dim tnm As String = Forms("技术部审核").Name
\'Forms("技术部审核").Controls("Table1").Table.filter = filter

老师,代码如上:
  output.show(Forms("技术部审核").Controls(nms(i)) & ".value")
这句代码,应该如何正确编写呢?

请老师指点
[此贴子已经被作者于2016/3/31 11:15:54编辑过]

--  作者:大红袍
--  发布时间:2016/3/31 11:37:00
--  
Dim gx As object
Dim nms() As String = {"TextBox1","TextBox2","ComboBox1","ComboBox2","ComboBox3","ComboBox4","CheckBox1"}
Dim fgf() As String = {"\'%","%\'","\'%","%\'","\'","\'","\'","\'","\'","\'","\'","\'","\'","\'"}
Dim bjf() As String = {" Like "," Like "," = "," = "," = "," = "," = "}
Dim lms() As String = {"规格型号","mark","类别_大类","类别_小类","封装_类型","封装_引脚","同意采购"}
Dim filter As String
For i As Integer = 0 To nms.Length - 1
    If Forms("技术部审核").Controls(nms(i)).value IsNot Nothing
        If Forms("技术部审核").Controls(nms(i)).Name = "CheckBox1"
            gx = Forms("技术部审核").Controls(nms(i)).Checked
        Else
            gx = Forms("技术部审核").Controls(nms(i)).value
        End If
        If filter > ""
            filter = filter & " And "
        End If
        filter = filter & lms(i) & bjf(i) & fgf(i * 2) & gx & fgf(i * 2 + 1)
        msgbox(filter)
    End If
Next
Dim tnm As String = Forms("技术部审核").Name
\'Forms("技术部审核").Controls("Table1").Table.filter = filter

--  作者:5159518
--  发布时间:2016/3/31 12:07:00
--  
老师,代码执行出错


--  作者:5159518
--  发布时间:2016/3/31 12:08:00
--  
老师,代码执行出错啊

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2016/3/31 12:08:07编辑过]

--  作者:大红袍
--  发布时间:2016/3/31 12:11:00
--  
Dim gx As object
Dim nms() As String = {"TextBox1","TextBox2","ComboBox1","ComboBox2","ComboBox3","ComboBox4","CheckBox1"}
Dim fgf() As String = {"\'%","%\'","\'%","%\'","\'","\'","\'","\'","\'","\'","\'","\'","",""}
Dim bjf() As String = {" Like "," Like "," = "," = "," = "," = "," = "}
Dim lms() As String = {"规格型号","mark","类别_大类","类别_小类","封装_类型","封装_引脚","同意采购"}
Dim filter As String
For i As Integer = 0 To nms.Length - 1
   
    If Forms("技术部审核").Controls(nms(i)).Name Like "CheckBox*"
        gx = Forms("技术部审核").Controls(nms(i)).Checked
    Else
        gx = Forms("技术部审核").Controls(nms(i)).value
    End If
    If gx <> Nothing
        If filter > ""
            filter = filter & " And "
        End If
        filter = filter & lms(i) & bjf(i) & fgf(i * 2) & gx & fgf(i * 2 + 1)
        msgbox(filter)
    end if
Next
Dim tnm As String = Forms("技术部审核").Name
\'Forms("技术部审核").Controls("Table1").Table.filter = filter

--  作者:5159518
--  发布时间:2016/3/31 12:12:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

--  作者:5159518
--  发布时间:2016/3/31 12:21:00
--  
老师,这样就筛选不了“CheckBox1”的值了
--  作者:大红袍
--  发布时间:2016/3/31 12:22:00
--  
看5楼啊
--  作者:5159518
--  发布时间:2016/3/31 12:28:00
--  
我将您的“msgbox(filter)”,换成ouput.show(filter),执行代码之后:
类别_大类 = \'电容\'
类别_大类 = \'电容\' And 类别_小类 = \'薄膜电容\'
类别_大类 = \'电容\' And 类别_小类 = \'薄膜电容\' And 封装_类型 = \'gsdjdh\'
类别_大类 = \'电容\' And 类别_小类 = \'薄膜电容\' And 封装_类型 = \'gsdjdh\' And 封装_引脚 = \'4\'

如果有效,应该还有一行的

类别_大类 = \'电容\' And 类别_小类 = \'薄膜电容\' And 封装_类型 = \'gsdjdh\' And 封装_引脚 = \'4\' And 同意采购 = \'false\'

--  作者:大红袍
--  发布时间:2016/3/31 12:35:00
--  
Dim gx As String
Dim nms() As String = {"TextBox1","TextBox2","ComboBox1","ComboBox2","ComboBox3","ComboBox4","CheckBox1"}
Dim fgf() As String = {"\'%","%\'","\'%","%\'","\'","\'","\'","\'","\'","\'","\'","\'","",""}
Dim bjf() As String = {" Like "," Like "," = "," = "," = "," = "," = "}
Dim lms() As String = {"规格型号","mark","类别_大类","类别_小类","封装_类型","封装_引脚","同意采购"}
Dim filter As String
For i As Integer = 0 To nms.Length - 1
   
    If Forms("技术部审核").Controls(nms(i)).Name Like "CheckBox*"
        gx = Forms("技术部审核").Controls(nms(i)).Checked
    Else
        gx = Forms("技术部审核").Controls(nms(i)).value
    End If
    If gx > "" Then
        If filter > ""
            filter = filter & " And "
        End If
        filter = filter & lms(i) & bjf(i) & fgf(i * 2) & gx & fgf(i * 2 + 1)
        msgbox(filter)
    End If
Next
Dim tnm As String = Forms("技术部审核").Name
\'Forms("技术部审核").Controls("Table1").Table.filter = filter