Foxtable(狐表)用户栏目专家坐堂 → [求助]自定义复合主键问题


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

主题:[求助]自定义复合主键问题

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/13 22:13:00 [显示全部帖子]

 赋值这样写

 

Dim nr As Row = Tables("冲裁中转进度表").AddNew()

nr("部件名称") = "xxx"

nr("轮次单号") = "yyy"


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/14 9:26:00 [显示全部帖子]

以下是引用pengjiam在2014-4-14 6:43:00的发言:
_identify, _locked,  _sorted中一定有不允许为空的字段,要不把表中这些字段属性设置为可以为空。

 

在你的表中,有这三列,还是没有这三列?默认_Identify是主键。

 

方案一,你可以使用_Identify + 其它列 做复合主键;

 

方案二,你可以删除_Identify,然后在狐表里,重新引用一次这个外部表


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/14 20:50:00 [显示全部帖子]

 复合主键在狐表里使用是很麻烦的,必须输入唯一的值,才能再新增行。

 

 而且新增的行,是不能直接赋值的,你可以新增两行,然后给上一行赋值。

 

 参考下面的代码

 

Dim nr As Row = CurrentTable.AddNew
CurrentTable.Rows(nr.Index-1)("bbb") = Date.now
CurrentTable.Rows(nr.Index-1)("ccc") = Date.now

 

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/15 9:53:00 [显示全部帖子]

以下是引用逛逛在2014-4-15 8:23:00的发言:

建议楼主用组合索引的方法,效果是相同的,

 

这个方法怎么具体实现?印象中索引好像不是这么用的


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/15 10:46:00 [显示全部帖子]

 回复11楼,建立唯一索引以后,也是建立了唯一约束,在狐表里还是会检测它们的唯一性的吧?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/15 11:02:00 [显示全部帖子]

以下是引用逛逛在2014-4-15 10:54:00的发言:

不会,只有保存到数据库的时候会产生错误。

 

所以保存前要检查后台,或者做一个容错。

 

有时间试一下图片点击可在新窗口打开查看


 回到顶部