Foxtable(狐表)用户栏目专家坐堂 → [求助]求教,窗口商品批量选中输入


  共有10443人关注过本帖树形打印复制链接

主题:[求助]求教,窗口商品批量选中输入

帅哥哟,离线,有人找我吗?
狐狸爸爸
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/7/26 12:03:00 [显示全部帖子]

其实不复杂的,就是设置一个条件,隐藏已经选择的行就行了。

 

Dim r As Row = Tables("选择商品_Table1").Current
If forms("销售单").Opened Then
    Dim r1 As Row = Tables("销售单.销售明细").AddNew()
    r1("商品编号")=r("商品编号")
    r1("名称") = r("名称")
    r1("类别") = r("类别")
    r1("单位") = r("单位")
    r1("规格") = r("规格")
    r1("销售单价") = r("零售价")
    DataTables("销售明细").DeleteFor("商品编号 Is Null")
End If
Dim chk As WinForm.CheckBox = Forms("选择商品").Controls("CheckBox1")
If chk.Checked = False
    Forms("选择商品").Close()
Else
    If Tables("销售单.销售明细").Rows.count > 0 Then
        Dim ids As String
        For Each r1 As Row In Tables("销售单.销售明细").Rows
               ids = ids & "'" & r1("商品编号") & "',"
        Next
        Tables("选择商品_Table1").Filter = "商品编号 Not In (" & ids.Trim(",") & ")"
    Else
        Tables("选择商品_Table1").Filter = ""
    End If
End If

[此贴子已经被作者于2012-7-26 12:05:13编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/7/26 17:30:00 [显示全部帖子]

那就修改目录树的代码,将目录树合成的条件和我上面代码合成的条件,组合在一起就行了。


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/7/27 8:09:00 [显示全部帖子]

呵呵,一样的道理啊,选择行的时候,按照我的代码合成一个表达式,然后你根据目录树选定的节点合成一个表达式,将两者组合起来就行了。
根据选定节点合成表达式的例子:
 
Dim Value()As String
Dim trv As Winfrom.TreeView = e.Form.Controls("TreeView1")
Value = trv.SelectedNode.FullPath.Split("\")
Dim Filter1 As Sring
Select Case trv.SelectedNode.Level
    Case 0
            Filter1 ="[产品] = '" & Value(0) & "'"
    Case 1
            Filter1 ="[产品] = '" & Value(0) & "' And [客户] = '" & Value(1) & "'"
    Case 2
            Filter1 ="[产品] = '" & Value(0) & "' And [客户] = '" & Value(1) &"' And [雇员] = '" & Value(2) & "'"
End Select

Dim  Filter2 As String

按照二楼的代码合成Filter2

If Filter1 >"" And Filter2 > ""  Then

    Tables("xxx").Filter  = Filter1 & " And " & Filter2

elseif  Filter1 >"" then

    Tables("xxx").Filter = Filter1 

Else

   Tables("xxx").Filter = Filter2  

End if

[此贴子已经被作者于2012-7-27 8:13:47编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/7/27 9:56:00 [显示全部帖子]

If Filter1 >"" And Filter2 > ""  Then
    Tables("选择商品_table1").Filter  = "(" &  Filter1 & ") And " & Filter2
ElseIf  Filter1 >"" Then
    Tables("选择商品_table1").Filter = Filter1
Else
    Tables("选择商品_table1").Filter = Filter2
End If

 

理由你可以自己想出来的。


 回到顶部