Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
狐狸爸爸在帮助中详尽的给出了如何网络环境中,多用户模式下,生成自动编号。
在那里,一般来说,需要指定某个时间字段用以生成自动编号(可以是任何与记录相关的时间,但不一定是系统时间,即:不会自动填写完成),因此,若该字段为空,则不能据之生成编号;
如果:
用户在表(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
这个目前没有办法,下次更新告诉你办法。
谢谢狐狸爸爸~ 虽然暂时没有好方案,但是回复得很快,态度很诚恳~
赞一个! 呵呵
刚才有个家伙胡言乱语,狐狸爸爸也不生气,真真好修养啊!
我感觉使用临时编号,保存之后,又生成一个存储编号,不是很合理,用户会晕,而且在记录用户的操作记录上会很麻烦。
临时编号生成就保存,借此生成固定编号。每编辑一条明细就要保存两次。整个用户群的使用、录入速度又会受影响
您说的是,不过,在狐爸给出方案中,那编号是 主键,不可以暂缺的...
有一个方法,就是:用 _Identify 做隐藏的, 真正的主键,如此,新增时, 那个要生成的编号可以不做任何处理...这样就不混乱了.. ^_^