Foxtable(狐表)用户栏目专家坐堂 → 关联列的数据不能删除


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

主题:关联列的数据不能删除

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
关联列的数据不能删除  发帖心情 Post By:2008/10/8 21:36:00 [只看该作者]

  我上次就问了,关联列的数据不能删除,我觉得有一些问题。如果我在一张表中多输了数据或者输错了,其他列的数据都能删除,唯独关联列的数据不能删除,一直留在哪儿,觉得不舒服。能不能删除的?用什么办法,总不能每次去掉关联删除吧,易表可以的呀。

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


加好友 发短信
等级:一尾狐 帖子:445 积分:3025 威望:0 精华:0 注册:2008/9/13 10:49:00
  发帖心情 Post By:2008/10/9 1:04:00 [只看该作者]

修改主表的关联列的值.让子表中没有关联数据...删除.

做设计时.应考虑主表的关联列不可以重复(防止楼主所说的情况出现).

[此贴子已经被作者于2008-10-9 1:08:53编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By:2008/10/9 10:31:00 [只看该作者]

子表的记录可以随便删除

父表中的记录在子表中没对应数据的时候,可以删除,
但在子表中有对应的记录的时候,则不能删除,否则会造成子表中的记录成"孤儿".

2楼的办法虽然能删除父表记录,但是仍然造成子表中的记录成"孤儿"了
根据实际情况来处理
要么不删除,直接把父表的记录修改正确.(而且确保选中同步更新,子表和父表一起修改)
要么"灭门" 父表 子表的记录全部删除.


另外说明一点无关的:
其实在子表中直接增加记录也可能出现"孤儿".就像石头里面蹦出来的一样.
所以.通常做法是只能在父表中增加关联记录,而不能直接在子表中增加记录.
教程提过这样的方法,代码很简单:
 

DataTables("订单明细").AllowAddNew = False
Tables(
"订单.订单明细").AllowAddNew
= True

这样订单明细就不会出现"孤儿".


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By:2008/10/9 10:53:00 [只看该作者]

像订单明细,必须有一个"父亲"(对应的订单)

但是,也有的另外一种情况,允许出现"孤儿"。举个例子:
“订单表”和“客户表”关联.
父表“客户表”中只储存大客户、批发商、长期客户的信息。其他客户的信息不保存。

那么在子表“订单表”中。有的订单能在父表中找到对应的记录,有的就找不到对应记录(成"孤儿")。
这种情况,添加“孤儿”的时候,只能在子表中直接增加记录了。


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2008/10/9 13:27:00 [只看该作者]

以下是引用lxl在2008-10-9 10:53:00的发言:

像订单明细,必须有一个"父亲"(对应的订单)

但是,也有的另外一种情况,允许出现"孤儿"。举个例子:
“订单表”和“客户表”关联.
父表“客户表”中只储存大客户、批发商、长期客户的信息。其他客户的信息不保存。

那么在子表“订单表”中。有的订单能在父表中找到对应的记录,有的就找不到对应记录(成"孤儿")。
这种情况,添加“孤儿”的时候,只能在子表中直接增加记录了。

  理解,我仔细看了一下,可能是处于代码计算的字段不能删除,是不是参与代码计算的列不能删除,只能修改?


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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19223 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2008/10/9 13:58:00 [只看该作者]

一定要先删除该记录的所有子表的记录,然后就可以随意删除楼主所说的关联列的数据
5楼的理解是错误的。

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2008/10/9 14:24:00 [只看该作者]

  我再看看。

 回到顶部