Foxtable(狐表)用户栏目专家坐堂 → [求助]通过表A勾选逻辑列,表B继承表A部分列


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

主题:[求助]通过表A勾选逻辑列,表B继承表A部分列

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


加好友 发短信
等级:狐精 帖子:3209 积分:21331 威望:0 精华:0 注册:2016/3/28 16:57:00
[求助]通过表A勾选逻辑列,表B继承表A部分列  发帖心情 Post By:2016/8/24 11:26:00 [显示全部帖子]

通过表A勾选逻辑列,表B继承表A部分列后,通过按钮打开表B,排序混乱,及时在打开表B按钮中,加入排序的代码,都还不行,不知但哪儿出错,在表B中通过加载全部,排序又是正常的。

打开表B及主窗口代码:

MainTable = Tables("工程款管理")

Tables("工程款管理").ApplyFilter = False
Tables("工程款管理").Sort = "序号,所属机构"
Forms("工程款支付窗口").Open()

序号不正确截图:

 


图片点击可在新窗口打开查看此主题相关图片如下:111.png
图片点击可在新窗口打开查看
筛选按钮中加载全部的代码

Tables("工程款管理").ApplyFilter = False
Tables("工程款管理").Sort = "序号,所属机构"

序号正确截图:

  


图片点击可在新窗口打开查看此主题相关图片如下:222.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2016/8/24 11:29:39编辑过]

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


加好友 发短信
等级:狐精 帖子:3209 积分:21331 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2016/8/24 11:55:00 [显示全部帖子]

老师,还是没用啊?

我觉得应该和表A勾选逻辑列有关系,我如果取消勾选后,变B对应的行删除,在勾选,表B在继承对应的行,但是继承的行是加到表B最后的,表B序号列是自动编号。

不过我打开按照序号列重新编号了,按道理应该没问题,加载全部后都是正确的。

[此贴子已经被作者于2016/8/24 12:00:48编辑过]

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


加好友 发短信
等级:狐精 帖子:3209 积分:21331 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2016/8/24 13:33:00 [显示全部帖子]

以下是引用Hyphen在2016/8/24 12:05:00的发言:
上传例子说明

放到表的afterload里面,问题解决。


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


加好友 发短信
等级:狐精 帖子:3209 积分:21331 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2016/8/24 14:52:00 [显示全部帖子]

老师,新问题又出来了,表B中我前面几列是标准合并模式(第1列是序号,未引用表A的数据)自动编号,当我取消某行数据引用,表B序号有断裂,代码如下:

e.DataRow("序号") = e.DataTable.Compute("Max(序号)") + 1

如我这样写代码,合并的行会全部重新重新编号。

DataRowAdding:

e.DataRow("序号") = e.DataTable.datarows.count

DataRowAdded:

For Each r As Row In Tables("人事管理").rows
    r("序号") = r.index + 1
Next

 

 

[此贴子已经被作者于2016/8/24 14:55:01编辑过]

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


加好友 发短信
等级:狐精 帖子:3209 积分:21331 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2016/8/24 15:32:00 [显示全部帖子]

表A逻辑列勾选,表B引用,取消勾选,表B删除,当有新增的时候,表B会全部重新编号,但不能影响表B1-6列标准合并。

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

需要的效果是这样:

 
图片点击可在新窗口打开查看此主题相关图片如下:22.png
图片点击可在新窗口打开查看

实际出来效果是这样:


图片点击可在新窗口打开查看此主题相关图片如下:111.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2016/8/24 15:49:43编辑过]

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


加好友 发短信
等级:狐精 帖子:3209 积分:21331 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2016/8/24 15:50:00 [显示全部帖子]

以下是引用大红袍在2016/8/24 15:47:00的发言:
 上传实例说明。

已上传,请大红袍老师看看,谢谢。


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


加好友 发短信
等级:狐精 帖子:3209 积分:21331 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2016/8/25 15:52:00 [显示全部帖子]

解决了,汗。

[此贴子已经被作者于2016/8/25 16:41:23编辑过]

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


加好友 发短信
等级:狐精 帖子:3209 积分:21331 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2016/8/26 11:03:00 [显示全部帖子]

以下是引用大红袍在2016/8/24 15:47:00的发言:
 上传实例说明。

大红袍老师,现在有这样一个逻辑,不知道怎么写了,我在所有行都加载的情况下,插入行,序号列的编号没有问题,当我在筛选后,在插入行,序号列编号会乱,怎么实现这样一个逻辑,筛选后插入列不重置编号。

目前这两个逻辑是矛盾的。

窗口插入行代码:

Dim sort As String = Tables("工程款管理").sort
Dim r As Row = Tables("工程款管理").Current
Tables("工程款管理").AllowMerge =False
Tables("工程款管理").sort = ""
Dim nr As Row = Tables("工程款管理").InsertNew
    nr.Move(r.Index + 0)
Dim cs() As String = {"序号","项目编码","所属机构","项目名称","合同工期","合同工期_开工日期","合同工期_竣工日期","合同金额"}
For Each c As String In cs
  nr(c) = r(c)
Next

Tables("工程款管理").AllowMerge = True
Tables("工程款管理").Sort = "序号,项目编码,所属机构"

 

表“工程款管理”增加行DataRowAdding代码:

Dim dic As new Dictionary(Of Integer, Integer)
Dim i As Integer = 1
For Each r As Row In Tables("工程款管理").rows
    If dic.ContainsKey(r("序号")) = False Then
        dic.Add(r("序号"), i)
        i += 1
    End If
    r("序号") = dic(r("序号"))
Next

e.DataRow("序号") = e.DataTable.Compute("Max(序号)") + 1

 


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


加好友 发短信
等级:狐精 帖子:3209 积分:21331 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2016/8/26 11:54:00 [显示全部帖子]

老师,这样写,如果有断号,即使加载全部,也不会及时刷新编号,只有在新增后才会刷新编号。

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


加好友 发短信
等级:狐精 帖子:3209 积分:21331 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2016/8/26 12:53:00 [显示全部帖子]

这样的话,表里面重置序号的代码,就是没用了,如果我删除中间某一行后,他序号还是会有断码啊。

 

把重置序号的代码写到DataRowDeleted能解决问题了

 

 

[此贴子已经被作者于2016/8/26 12:57:32编辑过]

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