Foxtable(狐表)用户栏目专家坐堂 → DropDownForm 有DropTable属性,其它 的模式或独立 窗口有这样的属性吗?


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

主题:DropDownForm 有DropTable属性,其它 的模式或独立 窗口有这样的属性吗?

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


加好友 发短信
等级:四尾狐 帖子:842 积分:5971 威望:0 精华:0 注册:2013/6/29 9:36:00
DropDownForm 有DropTable属性,其它 的模式或独立 窗口有这样的属性吗?  发帖心情 Post By:2016/12/3 16:47:00 [只看该作者]

 If e.Form.DropTable IsNot Nothing Then '如果下拉窗口是从表中打开
        tr = e.Form.DropTable.Current '获取此表的当前行
    Else '如果下拉窗口是通过DropdownBox打开
        Dim nm As String = e.Form.DropDownBox.BindingField '获取绑定的字段
        nm = nm.Split(".")(0) '获取绑定的表名
        tr = Tables(nm).Current '获取此表的当前行


我现在有一个:模式窗口:添加 供应商;
双击事件如下:

Dim str() As String = {"材料维护","采购订单维护","预算计划维护","机具订单维护","采购入库维护","收支维护"}
Dim str1() As String = {"材料","采购订单","预算计划","机具订单","采购入库","收支管理"}
For i As Integer = 0 To str.Length-1
    If Forms(str(i)).opened Then
        Dim tbl As Table = Tables("添加供应商_Table1")
        Dim dr As Row = Tables(str1(i)).Current
        If dr IsNot Nothing  Then
            If Tables(str1(i)).Cols.Contains("供应商编号") Then
                dr("供应商编号") = tbl.Current("供应商编号")
            ElseIf Tables(str1(i)).Cols.Contains("单位编号") Then
                dr("单位编号") = tbl.Current("供应商编号")
                dr("往来单位") = tbl.Current("公司名称")
            End If
            e.Form.Close()
            Return
        End If
    End If
Next

如果 能判断,是哪一个表或者TextBox,触发它弹出的,就不用写FOR EACH 遍历了。


[此贴子已经被作者于2016/12/3 16:51:57编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107756 积分:548119 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/12/3 17:06:00 [只看该作者]

只有DropDownForm 有DropTable属性

打开模式窗口前用全局变量指定需要接收数据的表名称就好了

vars("表") = "材料"
Forms("添加供应商").open

双击事件
Dim tbl As Table = Tables("添加供应商_Table1")
Dim dr As Row = Tables(vars("表")).Current
        If dr IsNot Nothing  Then
            If Tables(vars("表")).Cols.Contains("供应商编号") Then
                dr("供应商编号") = tbl.Current("供应商编号")
            ElseIf Tables(vars("表")).Cols.Contains("单位编号") Then
                dr("单位编号") = tbl.Current("供应商编号")
                dr("往来单位") = tbl.Current("公司名称")
            End If
            e.Form.Close()
        End If

 回到顶部