Foxtable(狐表)用户栏目专家坐堂 → [求助] 再问 网络环境下的编号问题。。。


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

主题:[求助] 再问 网络环境下的编号问题。。。

美女呀,离线,留言给我吧!
leibnitz
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:67 积分:682 威望:0 精华:0 注册:2011/6/23 17:04:00
[求助] 再问 网络环境下的编号问题。。。  发帖心情 Post By:2011/8/18 17:23:00 [只看该作者]

狐狸爸爸在帮助中详尽的给出了如何网络环境中,多用户模式下,生成自动编号。

在那里,一般来说,需要指定某个时间字段用以生成自动编号(可以是任何与记录相关的时间,但不一定是系统时间,即:不会自动填写完成),因此,若该字段为空,则不能据之生成编号;

 

如果:

用户在表(TABLE)增加一条记录R1,其中缺失了(生成编号所必须的)时间字段。
然后在表(TABLE)中增加了记录R2,填写完成了必须的时间字段;
   如果用户点按 保存按钮 则执行:
Ctype(ApplicationMenu.LeftItems("Save"), RibbonMenu.Button).PerformClick()

   最终实际上是执行:
Syscmd.Project.Save()

 

可是,这时候会尝试保存第一条记录R1, 而在表的 BeforeSaveDataRow 事件中代码中,我们会要求必须填写R1的时间字段;因此,整个保存,要么全通过,要么就都不通过。

 

 

请问,在上述情况下,是否可以编码实现:

让用户可以选择“已经填写好时间字段的”记录,保存这些记录,并自动获得正确的编码?

 

以下是我的笨拙的尝试:(不成功)

'With CurrentTable
 '   Select Case  .Name
  '      Case "订单管理"
   '         Tables("订单管理").Current.DataRow.DataTable.Save

    '         ...
     '  End Select
' End With

[此贴子已经被作者于2011-8-18 17:44:12编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/8/18 17:46:00 [只看该作者]

这个目前没有办法,下次更新告诉你办法。


 回到顶部
美女呀,离线,留言给我吧!
leibnitz
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:67 积分:682 威望:0 精华:0 注册:2011/6/23 17:04:00
谢谢狐狸爸爸~ 虽然暂时没有好方案  发帖心情 Post By:2011/8/18 22:35:00 [只看该作者]

谢谢狐狸爸爸~ 虽然暂时没有好方案,但是回复得很快,态度很诚恳~

 

赞一个! 呵呵

 

刚才有个家伙胡言乱语,狐狸爸爸也不生气,真真好修养啊!图片点击可在新窗口打开查看

[此贴子已经被作者于2011-8-18 22:36:06编辑过]

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


加好友 发短信
等级:三尾狐 帖子:734 积分:5645 威望:0 精华:0 注册:2008/9/6 11:22:00
  发帖心情 Post By:2011/8/19 11:06:00 [只看该作者]

我感觉使用临时编号,保存之后,又生成一个存储编号,不是很合理,用户会晕,而且在记录用户的操作记录上会很麻烦。

临时编号生成就保存,借此生成固定编号。每编辑一条明细就要保存两次。整个用户群的使用、录入速度又会受影响


 回到顶部
美女呀,离线,留言给我吧!
leibnitz
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:67 积分:682 威望:0 精华:0 注册:2011/6/23 17:04:00
您说的是  发帖心情 Post By:2011/8/25 15:35:00 [只看该作者]

您说的是,不过,在狐爸给出方案中,那编号是 主键,不可以暂缺的...

 

有一个方法,就是:用 _Identify 做隐藏的, 真正的主键,如此,新增时, 那个要生成的编号可以不做任何处理...这样就不混乱了.. ^_^


 回到顶部