Foxtable(狐表)用户栏目专家坐堂 → 一表多用的问题


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

主题:一表多用的问题

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


加好友 发短信
等级:三尾狐 帖子:672 积分:7885 威望:0 精华:0 注册:2016/6/11 11:10:00
一表多用的问题  发帖心情 Post By:2019/3/30 9:35:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:image 1.jpg
图片点击可在新窗口打开查看
如挂网有4列;部门有2列,单位有2列;.............(还有很多,说不定以后会有50多列)其对应的行中也有些多,有些少(即有部分单元格是空值),现在的问题是:

如果我把这些挂网,部门、单位(......)分出来,单独做一个表来存放相应的数据,跟它们合并到一个表中(如图所示),那么在优化数据/结构/效率等等方面,那种方式更好?


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


加好友 发短信
等级:超级版主 帖子:107813 积分:548416 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/3/30 10:16:00 [只看该作者]

字典类的数据一个表就够了。加一列类型列,进行区分即可。使用行的方式存储,而不是列的方式

类似:

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

获取列表
Dim s As String  = DataTables("字典").GetComboListString("ItemName","GroupName='性别'")
output.show(s)

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


加好友 发短信
等级:三尾狐 帖子:672 积分:7885 威望:0 精华:0 注册:2016/6/11 11:10:00
  发帖心情 Post By:2019/3/30 11:19:00 [只看该作者]

   有点蓝老师,按照我图片那种结构,其引用相关数据有如下类似的代码,如果用你的建议进行修改这个字典结构的话,其引用相关数据的代码是什么,帮助中好像在这方面的知识比较少。    

                 ..............

                 ..............        

                Dim bb As DataRow= DataTables("字典").Find("[单位_名称]='" & s1 & "'" )

                If bb IsNot Nothing

                    e.DataRow("单位代码") =bb("单位_英文代码")

                Else

                    e.DataRow("单位代码") =Nothing

                End If


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


加好友 发短信
等级:超级版主 帖子:107813 积分:548416 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/3/30 11:30:00 [只看该作者]

Dim bb As DataRow= DataTables("字典").Find("[名称]='" & s1 & "' and 类型 =‘单位’" )

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


加好友 发短信
等级:三尾狐 帖子:672 积分:7885 威望:0 精华:0 注册:2016/6/11 11:10:00
  发帖心情 Post By:2019/3/30 11:48:00 [只看该作者]


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

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

图片点击可在新窗口打开查看此主题相关图片如下:syx3.jpg
图片点击可在新窗口打开查看
麻烦老师重新指导一下 按新的结构,完成图三的功能其代码如何写?

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


加好友 发短信
等级:三尾狐 帖子:672 积分:7885 威望:0 精华:0 注册:2016/6/11 11:10:00
  发帖心情 Post By:2019/3/30 11:50:00 [只看该作者]

这个是录入表,在配送公司中输入公司后
自动在申请部门/申请人/审核人处自动填入数据
..............
..............       
Dim bb As DataRow= DataTables("字典").Find("[产品_配送公司]='" &   e.DataRow("配送公司") & "'" )
If bb IsNot Nothing
  e.DataRow("申请部门") =bb("产品_申请部门")
  e.DataRow("申请人") =bb("产品_申请人")
  e.DataRow("审核人") =bb("产品_审核人")
Else
  e.DataRow("申请部门") =Nothing
  e.DataRow("申请人") =Nothing
  e.DataRow("审核人") =bNothing
End If

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


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

您这个完全是另外一种东西。字典表适合没有关联的各种字典的收集。


自动在申请部门/申请人/审核人处自动填入数据??? 申请部门/申请人/审核人都有多个值,怎么知道填入哪一个???他们之间由什么关联?


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


加好友 发短信
等级:三尾狐 帖子:672 积分:7885 威望:0 精华:0 注册:2016/6/11 11:10:00
  发帖心情 Post By:2019/3/30 12:17:00 [只看该作者]

这样子啊 那就回到帖子所提的问题 是把数据合在一起 还是单独一个一个分出来好些?再次感谢您

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


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

就字典本身来说,当然一个表就好。

至于您的用法,要看具体业务场景。这东西没有绝对的好和坏

 回到顶部