c/s三层midas:用paradox作数据库,若二台机子对一类帐单同时存盘,如何使服务器端的表内的帐单号依次自增1?(100分)

  • 主题发起人 主题发起人 dana
  • 开始时间 开始时间
D

dana

Unregistered / Unconfirmed
GUEST, unregistred user!
因使用了:
fieldbyname('帐单号').asinteger:=fieldbyname('帐单号').asinteger+1;
若二机同时存盘,则增加了二张帐单号相同的帐单。
 
有何好的方案?
 
你可用如下的作法写一Func,注意有分:前编与后编的问题。
假设我们要让订单明细文件的序号栏自动编码,则做法如下:
在COM Express中,点选ITEMNO字段,进入字段属性设定,在Tag 属性加入#AutoSeq,如下【图3-1】。则程序产生后会在Form中多了一个的对象。







大家可以试着跑程序看看,是不是不管Detail档新增、删除时AutoSeq组件都能帮你自动编码,但是有两点要注意:
1. 当Detail档为Query且为CachedUpdates状态时,必先执行ApplyUpData动作,AutoSeq才会自动排序。
2. 若排序发生错误时,请检查有没有此Table的Key值,若是复合索引则请检查索引顺序是否和数据库字段顺序相同。
 
我也想知道这个问题.
 
多人接受答案了。
 
后退
顶部