Foxtable(狐表)用户栏目专家坐堂 → 数据字典更新


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

主题:数据字典更新

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


加好友 发短信
等级:五尾狐 帖子:1018 积分:6800 威望:0 精华:0 注册:2014/2/12 20:14:00
数据字典更新  发帖心情 Post By:2014/6/22 12:35:00 [只看该作者]

我的数据字典没有办法更新,通信表企业信息_客户供应商列里有两个候选值分别是客户、供应商。数据字典设置在入库明细表企业编号,企业名称是通过企业编号值返回的。

 

 

 

If MainTable.Name = "入库明细" Then
   Dim dmp As New TableDataMap
   dmp.DataTable = "通信" '指定数据来源表
   dmp.ValueCol = "企业信息_企业编号" '指定取值列
   dmp.DisplayCol = "企业信息_企业编号" '指定显示列
    '指定下拉列表时显示哪些列的数据
    dmp.ListCols = "企业信息_企业编号,企业信息_客户供应商"
    dmp.Sort = "企业信息_客户供应商" '指定排序方式
    Tables("入库明细").Cols("企业编号").DataMap = dmp.CreateDataMap() '生成并设置DataMap
End If

 

 

[此贴子已经被作者于2014-6-22 12:38:42编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/22 14:15:00 [只看该作者]

 根据你写的代码,你是在切换表的时候,才会更新数据字典的内容的啊。

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


加好友 发短信
等级:五尾狐 帖子:1018 积分:6800 威望:0 精华:0 注册:2014/2/12 20:14:00
  发帖心情 Post By:2014/6/22 17:42:00 [只看该作者]

切换也不根新啊

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/22 17:46:00 [只看该作者]

 你的代码写到什么地方? 切换肯定会更新,你一定要切换到 入库明细 主表才会更新的啊。

 

 加入红色代码,看是否触发事件

 

If MainTable.Name = "入库明细" Then
   Dim dmp As New TableDataMap
   dmp.DataTable = "通信" '指定数据来源表
   dmp.ValueCol = "企业信息_企业编号" '指定取值列
   dmp.DisplayCol = "企业信息_企业编号" '指定显示列
    '指定下拉列表时显示哪些列的数据
    dmp.ListCols = "企业信息_企业编号,企业信息_客户供应商"
    dmp.Sort = "企业信息_客户供应商" '指定排序方式
    Tables("入库明细").Cols("企业编号").DataMap = dmp.CreateDataMap() '生成并设置DataMap

    msgbox("触发了事件")
End If

 


 回到顶部
帅哥哟,离线,有人找我吗?
风声
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1018 积分:6800 威望:0 精华:0 注册:2014/2/12 20:14:00
  发帖心情 Post By:2014/6/22 18:08:00 [只看该作者]

可以了,多了个确认框。另外有个显示值是错误的答案是对的。确认框能搞掉吗?

 回到顶部
帅哥哟,离线,有人找我吗?
风声
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1018 积分:6800 威望:0 精华:0 注册:2014/2/12 20:14:00
  发帖心情 Post By:2014/6/22 18:46:00 [只看该作者]

If e.DataCol.Name = "企业编号" Then '发生变化的是产品编号吗?
    '在产品表找出该产品
    Dim dr As DataRow
    dr = DataTables("通信").Find("企业信息_企业编号 = '" & e.DataRow("企业编号") & "' and 企业信息_群组分类 = '供应商'" )
    If dr IsNot Nothing '如果找到, 则设置各列内容
        e.DataRow("供应商")= dr("企业信息_客户供应商")
    End If
End If

 

老师,我的数据字典把客户、供应商的两个值多取了


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/22 19:06:00 [只看该作者]

 没明白6楼。

 

If MainTable.Name = "入库明细" Then
   Dim dmp As New TableDataMap
   dmp.DataTable = "通信" '指定数据来源表
   dmp.ValueCol = "企业信息_企业编号" '指定取值列
   dmp.DisplayCol = "企业信息_企业编号" '指定显示列
    '指定下拉列表时显示哪些列的数据
    dmp.ListCols = "企业信息_企业编号,企业信息_客户供应商"
    dmp.Sort = "企业信息_客户供应商" '指定排序方式
    Tables("入库明细").Cols("企业编号").DataMap = dmp.CreateDataMap() '生成并设置DataMap

End If


 回到顶部
帅哥哟,离线,有人找我吗?
风声
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1018 积分:6800 威望:0 精华:0 注册:2014/2/12 20:14:00
  发帖心情 Post By:2014/6/22 20:59:00 [只看该作者]

6楼和4楼的公式是否有冲突。7楼的公式用了后客户供应商列的值没有了。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/22 21:02:00 [只看该作者]

  呃,应该是没有冲突的,做个例子发上来。


 回到顶部
帅哥哟,离线,有人找我吗?
风声
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1018 积分:6800 威望:0 精华:0 注册:2014/2/12 20:14:00
  发帖心情 Post By:2014/6/22 21:31:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:蓝峰管理.table


 回到顶部
总数 14 1 2 下一页