Foxtable(狐表)用户栏目专家坐堂 → 目录树过渡表数据的代码要怎么写?


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

主题:目录树过渡表数据的代码要怎么写?

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


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

不说业务逻辑,In运算符的语法:

 

In 运算符用来判断某一个值是否在指定的一系列值中,例如:

[国籍] In ('中国','美国','英国','法国','俄罗斯')

表示判断国籍是否是上述五国之一,显然这比用OR来连接多个表达式要简洁很多。

记得数值型的列,值不要用单引号括起来,例如:

[订单号] In (1, 3, 4, 6, 7,12)

而日期型的列,值需要用符号#括起来,例如:

[日期] In (#7/2/2012#, #7/12/2012#, #8/30/2012#)

 

假定编号列是字符型,应该这样修改代码:

 

Dim Filter As String
Dim Value()As String
Value = e.Node.FullPath.Split("\")
Select Case e.Node.Level
    Case 0
        Tables(e.Node.Text).Filter = ""
        MainTable = Tables(e.Node.Text)
        DataTables.AllowEdit = True
    Case 1
        '得到单据审批记录表中未结束的需要审批表单的编号
        Dim nms As =String
        nms = DataTables("单据审批记录").GetComboListString("编号","表名= '" & e.Node.ParentNode.Text & "' and 结束 = false")
        If nms > "" Then
            nms = "'" & nms.replace("|","','")  & "'"
            '从系统表中得到当前父节点的表使用的单据编号列的名称,然后过滤得到编号在单据审批记录中的表.
            Dim dr As DataRow = DataTables("系统表").Find("表名 = '" & e.Node.ParentNode.Text & "'")
            If dr IsNot Nothing Then
                Dim num As String = dr("单据编号列")
                Tables(e.Node.ParentNode.Text).Filter = dr("单据编号列")  & "In (" & nms & ")"
                MainTable = Tables(e.Node..ParentNode.Text)
                DataTables.AllowEdit = True
            End If
        End If
End Select

 

你可以看看:

http://www.foxtable.com/help/topics/2228.htm

http://www.foxtable.com/help/topics/2410.htm

 


 回到顶部