以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  动态数据字典  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=39343)

--  作者:逆行舟
--  发布时间:2013/8/22 10:12:00
--  动态数据字典

以帮助里的案例为举例

http://www.foxtable.com/help/index.html?n=2653.htm

 

 

If MainTable.Name = "订单" Then
    Dim
dmp As New TableDataMap
   
dmp.DataTable = "客户" \'指定数据来源表
   
dmp.ValueCol = "ID" \'指定取值列
   
dmp.DisplayCol = "公司" \'指定显示列
   
\'指定下拉列表时显示哪些列的数据
   
dmp.ListCols = "ID,公司,姓氏,名字,职务,业务电话,传真号,地址,城市,邮政编码"
   
dmp.Sort = "城市" \'指定排序方式
    Tables(
"订单").Cols("客户 ID").DataMap = dmp.CreateDataMap() \'生成并设置DataMap
End If

 

这里的第一句MainTable.Name = "订单"  可以是个关联表吗,比如

MainTable.Name = "订单.订单明细"

 

我试了一下,没出现下拉 


--  作者:Bin
--  发布时间:2013/8/22 10:16:00
--  
你为那个表赋值那个表就有下拉. 不行的话.你上个例子看看.
--  作者:逆行舟
--  发布时间:2013/8/22 18:58:00
--  

我写了两段在maintablechanged里

If MainTable.Name = "产品出运明细" Then \'如果选择的主表是订单表
 Dim  dmp As New  TableDataMap
     dmp.DataTable = "产品字典"  \'指定数据来源表
    dmp.ValueCol = "产品序号"  \'指定取值列
    dmp.DisplayCol = "产品序号"  \'指定显示列
     \'指定下拉列表时显示哪些列的数据
    dmp.ListCols =  "产品序号,产品中文名,海关编码HS,产品英文名,规格型号,单位,外包装"
     dmp.Sort = "产品序号"  \'指定排序方式
    Tables("产品出运明细").Cols("产品序号").DataMap = dmp.CreateDataMap()  \'生成并设置DataMap
 End If

 


If MainTable.Name = "报关主表.产品出运明细" Then \'如果选择的主表是订单表
 Dim  dmp1 As New  TableDataMap
     dmp1.DataTable = "产品字典"  \'指定数据来源表
    dmp1.ValueCol = "产品序号"  \'指定取值列
    dmp1.DisplayCol = "产品序号"  \'指定显示列
     \'指定下拉列表时显示哪些列的数据
    dmp1.ListCols =  "产品序号,产品中文名,海关编码HS,产品英文名,规格型号,单位,外包装"
     dmp1.Sort = "产品序号"  \'指定排序方式
    Tables("报关主表.产品出运明细").Cols("产品序号").DataMap = dmp1.CreateDataMap()  \'生成并设置DataMap
 End If

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数据字典举例.table

第一段有效果,第二段用在关联表的,不行


--  作者:有点甜
--  发布时间:2013/8/22 21:20:00
--  
 把代码改成如下。maintable不针对关联表的。

If MainTable.Name = "产品出运明细" Then \'如果选择的主表是订单表
    Dim  dmp As New  TableDataMap
    dmp.DataTable = "产品字典"  \'指定数据来源表
    dmp.ValueCol = "产品序号"  \'指定取值列
    dmp.DisplayCol = "产品序号"  \'指定显示列
    \'指定下拉列表时显示哪些列的数据
    dmp.ListCols =  "产品序号,产品中文名,海关编码HS,产品英文名,规格型号,单位,外包装"
    dmp.Sort = "产品序号"  \'指定排序方式
    Tables("产品出运明细").Cols("产品序号").DataMap = dmp.CreateDataMap()  \'生成并设置DataMap
    
    Dim  dmp1 As New  TableDataMap
    dmp1.DataTable = "产品字典"  \'指定数据来源表
    dmp1.ValueCol = "产品序号"  \'指定取值列
    dmp1.DisplayCol = "产品序号"  \'指定显示列
    \'指定下拉列表时显示哪些列的数据
    dmp1.ListCols =  "产品序号,产品中文名,海关编码HS,产品英文名,规格型号,单位,外包装"
    dmp1.Sort = "产品序号"  \'指定排序方式
    Tables("报关主表.产品出运明细").Cols("产品序号").DataMap = dmp1.CreateDataMap()  \'生成并设置DataMap
    
End If

--  作者:逆行舟
--  发布时间:2013/8/23 7:14:00
--  

谢谢,能用了