Foxtable(狐表)用户栏目专家坐堂 → 关联列数量太少


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

主题:关联列数量太少

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


加好友 发短信
等级:狐神 帖子:6875 积分:43524 威望:0 精华:0 注册:2009/3/2 14:07:00
关联列数量太少  发帖心情 Post By:2010/12/22 12:14:00 [只看该作者]

根据需要,有时需要十几个列作为关联列,现在只能关联八列,能不能增加关联列的数量?

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


加好友 发短信
等级:管理员 帖子:47480 积分:251289 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/22 12:20:00 [只看该作者]

1、请反思自己的设计。

2、我这辈子还没见过一个系统,有达到三列以上的关联,两列都极为罕见,至于三列,则只能在那些初次编程的人做的系统中看到。

[此贴子已经被作者于2010-12-22 12:21:59编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2010/12/22 13:57:00 [只看该作者]

以下是引用狐狸爸爸在2010-12-22 12:20:00的发言:

1、请反思自己的设计。

2、我这辈子还没见过一个系统,有达到三列以上的关联,两列都极为罕见,至于三列,则只能在那些初次编程的人做的系统中看到。

[此贴子已经被作者于2010-12-22 12:21:59编辑过]

我就是用三列(产品分类、型号、规格)来关联的,一开始我也觉得不妥,但实在没有好的办法才为之,现在运行还正常。

最初,我用主表的_Identify与子表的产品ID关联,正常的操作是:首先在主表增加记录,然后在子表增加对应的记录,产品ID与_Identify一一对应,这些是通常的设计和操作。但是,公司的同事觉得几万个产品品种一条一条的增加记录太费工费时,希望能将EXCEL表的产品数据导入或复制过来,由于产品ID的限制而难以实现。

还有一种方案,就是产品编码,这是系统设计的最佳方案,然而编码的设计却不是那么容易的,许多企业的信息化就是迈不过这个坎而被挡在门外,一些使用者强烈拒绝编码。

希望高手指点。


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


加好友 发短信
等级:管理员 帖子:47480 积分:251289 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/22 14:43:00 [只看该作者]

我始终没有理解三楼的说法,尽管关联列可以自动输入,但自动输入不是必须通过关联列来实现的;单列关联,甚至不关联,都也可以自动输入和更新很多列的内容。


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2010/12/22 15:11:00 [只看该作者]

来个例子吧

表A与表B关联,现在想将表C的数据复制到表B,如何让这些数据与表A关联。

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


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


加好友 发短信
等级:管理员 帖子:47480 积分:251289 威望:0 精华:91 注册:2008/6/17 17:14:00
求帮助设计一个汽车进销存表格  发帖心情 Post By:2010/12/22 15:23:00 [只看该作者]

复制数据后,在命令窗口执行一次:

 

For Each dr1 As DataRow In DataTables("表A").DataRows
    For Each dr2 As DataRow  In DataTables("表B").Select("型号 = '"  & dr1("型号") & "' And 规格 = '"  & dr1("规格") & "'")
        dr2("产品ID") = dr1("_Identify")
    Next
    For Each dr2 As DataRow In dr1.GetChildRows("表B")
      If dr1("型号") <> dr2("型号") OrElse dr1("规格") <> dr2("规格") Then
            dr2("产品ID") = Nothing
        End If
    Next
Next

 

呵呵,早点做个这样简单的例子上来说明问题,也许你的系统会做得更好啊。
两列是可以接受的,如果三列就多了。

 

图片点击可在新窗口打开查看

 

[此贴子已经被作者于2010-12-22 15:30:08编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2010/12/22 15:42:00 [只看该作者]

ok

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/12/22 19:54:00 [只看该作者]

      If dr1("型号") <> dr2("型号") OrElse dr1("规格") <> dr2("规格") Then
            dr2("产品ID") = Nothing
        End If

这一段不理想··, 应该在父表空行对应列中自动填入子表有父表没有dr2("型号")  和 dr2("规格") 并将父表的_identify值 填回到子表的 dr2("产品ID") 中 ,如果父表行数不够则应增加行来继续完成上述内容。。。。。

 


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


加好友 发短信
等级:狐神 帖子:6875 积分:43524 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2010/12/27 13:05:00 [只看该作者]

以下是引用狐狸爸爸在2010-12-22 12:20:00的发言:

1、请反思自己的设计。

2、我这辈子还没见过一个系统,有达到三列以上的关联,两列都极为罕见,至于三列,则只能在那些初次编程的人做的系统中看到。

[此贴子已经被作者于2010-12-22 12:21:59编辑过]

我反思过自己的设计,还是感觉应该增加关联列的个数。


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


加好友 发短信
等级:管理员 帖子:47480 积分:251289 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/27 14:36:00 [只看该作者]

呵呵,那就继续反思,直到不超过3列为止。

图片点击可在新窗口打开查看

 

 

[此贴子已经被作者于2010-12-27 14:36:09编辑过]

 回到顶部
总数 49 1 2 3 4 5 下一页