以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  Filter  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=193814)

--  作者:1234567
--  发布时间:2024/10/17 15:35:00
--  Filter

Dim Filter As String

Dim txt As String = e.Form.Controls("TextBox1").Text
Dim tbl As Table = Tables("窗口_Table1")
If txt = "" Then
   tbl.Filter = ""
Else
Filter = "第一列=\'" & txt1 & "\'"
   Tables("窗口_Table1").Filter = Filter
End If

 

当我在TextBox1填入数据A时,Filter = "第一列=\'A\'",

当我在TextBox1重新填入数据B时,Filter = "第一列=\'A\'" OR "第一列=\'B\'" ,如何实现?


 


--  作者:有点蓝
--  发布时间:2024/10/17 16:03:00
--  
……
If txt = "" Then
   tbl.Filter = ""
Else
Filter = "第一列=\'" & txt1 & "\'"
if Tables("窗口_Table1").Filter > "" then 
Tables("窗口_Table1").Filter = Tables("窗口_Table1").Filter & " or "
end if
   Tables("窗口_Table1").Filter = Tables("窗口_Table1").Filter & Filter
End If

--  作者:1234567
--  发布时间:2024/10/17 16:19:00
--  

.NET Framework 版本:4.0.30319.1
Foxtable 版本:2022.8.18.1
错误所在事件:
详细错误信息:
Syntax error: Missing operand after \'And\' operator.

 

Dim Filter As String
Dim txt As String = e.Form.Controls("TextBox1").Text
Dim txt1 As String = e.Form.Controls("TextBox2").Text
Dim tbl As Table = Tables("五级表|工步_Table1")
If txt = "" OrElse txt1 = "" Then
    tbl.Filter = ""
Else
    Filter = txt & "=\'" & txt1 & "\'"
    msgbox(Filter)
    If Tables("五级表|工步_Table1").Filter > "" Then
        Tables("五级表|工步_Table1").Filter = Tables("五级表|工步_Table1").Filter & "and"
        msgbox(Filter)
    End If
    Tables("五级表|工步_Table1").Filter = Tables("五级表|工步_Table1").Filter & Filter
    msgbox(Filter)
End If


--  作者:有点蓝
--  发布时间:2024/10/17 16:41:00
--  
加上必要的空格

Tables("五级表|工步_Table1").Filter = Tables("五级表|工步_Table1").Filter & " and "

--  作者:1234567
--  发布时间:2024/10/17 16:47:00
--  

.NET Framework 版本:4.0.30319.1
Foxtable 版本:2022.8.18.1
错误所在事件:
详细错误信息:
Syntax error: Missing operand after \'And\' operator.

 

Dim Filter As String
Dim txt As String = e.Form.Controls("TextBox1").Text
Dim txt1 As String = e.Form.Controls("TextBox2").Text
Dim tbl As Table = Tables("五级表|工步_Table1")
If txt = "" OrElse txt1 = "" Then
    tbl.Filter = ""
Else
    Filter = txt & "=\'" & txt1 & "\'"
    msgbox(Filter)
    If Tables("五级表|工步_Table1").Filter > "" Then
        Tables("五级表|工步_Table1").Filter = Tables("五级表|工步_Table1").Filter & " and "
        msgbox(Filter)
    End If
    Tables("五级表|工步_Table1").Filter = Tables("五级表|工步_Table1").Filter & Filter
    msgbox(Filter)
End If


--  作者:有点蓝
--  发布时间:2024/10/17 16:56:00
--  
Else
    Filter = txt & "=\'" & txt1 & "\'"
    msgbox(Filter)
    If Tables("五级表|工步_Table1").Filter > "" Then
        Filter = Filter & " and " & Tables("五级表|工步_Table1").Filter 
        msgbox(Filter)
    End If
    Tables("五级表|工步_Table1").Filter = Filter
End If
--  作者:1234567
--  发布时间:2024/10/25 16:07:00
--  

Dim Filter As String
Dim idx As String = "-1,"
Dim pdr As DataRow = Nothing
Dim cs As String = "工序,设备名称,机床代号,机床编号,计划作业人员,按时间加工单价"
Dim flag As Boolean
For Each dr As DataRow In DataTables("工艺内容").Select("工序 is not null ", cs)
    flag = False
    If pdr IsNot Nothing Then
        For Each c As String In cs.split(",")
            If pdr(c) <> dr(c) Then
                flag = True
                Exit For
            End If
        Next
    End If
    If flag Then
        idx &= pdr("_Identify") & ","
    End If
    pdr = dr
Next

If pdr IsNot Nothing Then
    idx &= pdr("_Identify") & ","
End If


filter = "_Identify in (" & idx.trim(",") & ") and 工序 is not null "
msgbox(Filter)

Dim t1 As String = e.Form.Controls("DropBox1").Text
Dim t01 As String = e.Form.Controls("TextBox3").Text

If t1 <> Nothing Then
    If Filter > "" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "工序= \'" & t1 & "\'"
    msgbox(Filter)
End If
If t01 <> Nothing Then
    If Filter > "" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "机床编号= \'" & t01 & "\'"
    msgbox(Filter)
End If

 

 

Dim txt As String = e.Form.Controls("TextBox1").Text        我把其他代码整合后,筛选条件只有TextBox2最后输入数据有效,如何才能达到6楼的效果?
Dim txt1 As String = e.Form.Controls("TextBox2").Text
Dim tbl As Table = Tables("四级表|工序_Table1")
If txt = "" OrElse txt1 = "" Then
    Filter = Filter
    msgbox(Filter)
Else
    Filter = Filter & " and " & txt & "=\'" & txt1 & "\'"
   msgbox(Filter)
    If Tables("四级表|工序_Table1").Filter > "" Then
        Filter = Filter & " and " & txt & "=\'" & txt1 & "\'"
      msgbox(Filter)
    End If
    Tables("四级表|工序_Table1").Filter = Filter
End If

 

 

 


If Filter > "" Then
    Tables("四级表|工序_Table1").Filter = Filter
End If

[此贴子已经被作者于2024/10/25 16:08:14编辑过]

--  作者:有点蓝
--  发布时间:2024/10/25 16:15:00
--  
    If Tables("四级表|工序_Table1").Filter > "" Then
        Filter = Filter & " and " & Tables("四级表|工序_Table1").Filter
      msgbox(Filter)
    End If
--  作者:1234567
--  发布时间:2024/10/25 16:24:00
--  

Dim Filter As String
Dim idx As String = "-1,"
Dim pdr As DataRow = Nothing
Dim cs As String = "工序,设备名称,机床代号,机床编号,计划作业人员,按时间加工单价"
Dim flag As Boolean
For Each dr As DataRow In DataTables("工艺内容").Select("工序 is not null ", cs)
    flag = False
    If pdr IsNot Nothing Then
        For Each c As String In cs.split(",")
            If pdr(c) <> dr(c) Then
                flag = True
                Exit For
            End If
        Next
    End If
    If flag Then
        idx &= pdr("_Identify") & ","
    End If
    pdr = dr
Next

If pdr IsNot Nothing Then
    idx &= pdr("_Identify") & ","
End If


filter = "_Identify in (" & idx.trim(",") & ") and 工序 is not null "
msgbox(Filter)

Dim t1 As String = e.Form.Controls("DropBox1").Text
Dim t01 As String = e.Form.Controls("TextBox3").Text

If t1 <> Nothing Then
    If Filter > "" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "工序= \'" & t1 & "\'"
    msgbox(Filter)
End If
If t01 <> Nothing Then
    If Filter > "" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "机床编号= \'" & t01 & "\'"
    msgbox(Filter)
End If

Dim txt As String = e.Form.Controls("TextBox1").Text
Dim txt1 As String = e.Form.Controls("TextBox2").Text
Dim tbl As Table = Tables("四级表|工序_Table1")
If txt = "" OrElse txt1 = "" Then
    Filter = Filter
    msgbox(Filter)
Else
    Filter = Filter & " and " & txt & "=\'" & txt1 & "\'"
   msgbox(Filter)
     If Tables("四级表|工序_Table1").Filter > "" Then
        Filter = Filter & " and " & Tables("四级表|工序_Table1").Filter   第二次输入时,把上此的数据改写掉了,是否Filter 数据改写了?
      msgbox(Filter)
    End If
    Tables("四级表|工序_Table1").Filter = Filter
End If

If Filter > "" Then
    Tables("四级表|工序_Table1").Filter = Filter
End If


--  作者:有点蓝
--  发布时间:2024/10/25 16:57:00
--  

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