以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 一表多用的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=132809)
|
-- 作者:蓝蚂蚁
-- 发布时间:2019/3/30 9:35:00
-- 一表多用的问题
此主题相关图片如下:image 1.jpg
如挂网有4列;部门有2列,单位有2列;.............(还有很多,说不定以后会有50多列)其对应的行中也有些多,有些少(即有部分单元格是空值),现在的问题是:
如果我把这些挂网,部门、单位(......)分出来,单独做一个表来存放相应的数据,跟它们合并到一个表中(如图所示),那么在优化数据/结构/效率等等方面,那种方式更好?
|
-- 作者:有点蓝
-- 发布时间:2019/3/30 10:16:00
--
字典类的数据一个表就够了。加一列类型列,进行区分即可。使用行的方式存储,而不是列的方式
类似: 此主题相关图片如下:1.png 获取列表 Dim s As String = DataTables("字典").GetComboListString("ItemName","GroupName=\'性别\'") output.show(s)
|
-- 作者:蓝蚂蚁
-- 发布时间: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
|
-- 作者:有点蓝
-- 发布时间:2019/3/30 11:30:00
--
Dim bb As DataRow= DataTables("字典").Find("[名称]=\'" & s1 & "\' and 类型 =‘单位’" )
|
-- 作者:蓝蚂蚁
-- 发布时间:2019/3/30 11:48:00
--
此主题相关图片如下:syx1.jpg
此主题相关图片如下:syx2.jpg
此主题相关图片如下:syx3.jpg
麻烦老师重新指导一下 按新的结构,完成图三的功能其代码如何写?
|
-- 作者:蓝蚂蚁
-- 发布时间: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
|
-- 作者:有点蓝
-- 发布时间:2019/3/30 12:11:00
--
您这个完全是另外一种东西。字典表适合没有关联的各种字典的收集。
自动在申请部门/申请人/审核人处自动填入数据??? 申请部门/申请人/审核人都有多个值,怎么知道填入哪一个???他们之间由什么关联?
|
-- 作者:蓝蚂蚁
-- 发布时间:2019/3/30 12:17:00
--
这样子啊 那就回到帖子所提的问题 是把数据合在一起 还是单独一个一个分出来好些?再次感谢您
|
-- 作者:有点蓝
-- 发布时间:2019/3/30 14:12:00
--
就字典本身来说,当然一个表就好。
至于您的用法,要看具体业务场景。这东西没有绝对的好和坏
|