以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  帮我看一个代码.  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=14197)

--  作者:布莱克朱
--  发布时间:2011/11/11 22:03:00
--  帮我看一个代码.
   我在项目属性的中CurrentTableChanged中设置了这样一个代码.

  Select Case CurrentTable.DataTable.Name
         Case  "商品档案","客户档案","供应商档案","销售人员档案","小区档案","标准价格表","采购单","促销价格表","促销套餐价格","销售订单","潜在客户","交款日报","厂家返利登记表","采购合同","请购单","仓库档案","精加工费用","安装费类别"
        Dim Name As String
        For Each dc As Col In CurrentTable.Cols
            If dc.DataCol.IsDate Then
                Tables("查询").Cols("查询内容").DropForm = "万年历"
            End If
            Name = Name & dc.name & "|"
            Tables("查询").Cols("查询项目").Combolist= Name
        Next
        For Each dr As Row In Tables("查询").Rows
            If dr("比较") <>"" Or dr("查询内容")<>"" Then
                dr("对应表")= CurrentTable.DataTable.Name
            Else
                dr("对应表")=""
            End If
        Next
意思是切换到这个当前表有一个筛选的窗口表里面的表名自动加载当前表的表名,但问题是,我现在有几十个表名,一一写出来太多了,有没有简单的写法?

--  作者:布莱克朱
--  发布时间:2011/11/11 22:17:00
--  
也就是不用指定表名
--  作者:程兴刚
--  发布时间:2011/11/11 22:23:00
--  

您累不累呀!

 

这样的设计思路应该有问题,详细说明一下,最好发一个实例文件!

    


--  作者:blackzhu
--  发布时间:2011/11/12 7:46:00
--  
这样做自然有我的的道理,我是一个窗口表利用代码可以切换很多表(是主表),但是这个表我要添加一个自定义筛选,每一次这个筛选窗口,筛选窗口里面的表名就会自动为当前要筛选表的表名.
--  作者:xmj09663
--  发布时间:2011/11/12 8:06:00
--  
Dim lm As String
For Each dc As DataCol In DataTables(CurrentTable.Name).DataCols
    lm = lm & "|" & dc.Name
Next
Tables("过滤查询_Table1").Cols("查询项目").Combolist = lm

--  作者:blackzhu
--  发布时间:2011/11/12 8:27:00
--  
我不是要找列名,列名根据表名生成,我是要找表名,上面的代码可以执行,但是写几十个表名,有点?
--  作者:狐狸爸爸
--  发布时间:2011/11/12 8:28:00
--  
5楼正解的,既然你是处理当前表,你要判断表名干什么?
--  作者:blackzhu
--  发布时间:2011/11/12 8:39:00
--  
不是的狐爸,我的筛选窗口,里面有一个窗口表,这个窗口表里面有一个字段是表名.我要在当前表打开这个筛选窗口时这个字段自动加载这个当前表的表名.
--  作者:blackzhu
--  发布时间:2011/11/12 8:43:00
--  
For Each dr1 As DataRow In Tables("查询").DataTable.DataRows
    If dr1("查询项目") <> Nothing And dr1("比较") <> Nothing And dr1("查询内容") <> Nothing Then
        Tables(dr1("对应表")).Filter=""
        Tables(dr1("对应表")).Filter=   "条件"
    End If
[此贴子已经被作者于2011-11-12 8:44:41编辑过]

--  作者:blackzhu
--  发布时间:2011/11/12 8:43:00
--  
我知道5楼的是对的.
[此贴子已经被作者于2011-11-12 8:45:56编辑过]