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


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

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

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


加好友 发短信
等级:二尾狐 帖子:534 积分:4420 威望:0 精华:0 注册:2012/11/28 16:03:00
[求助]网络环境下的编号  发帖心情 Post By:2018/1/3 21:48:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:网络环境下的编号.txt

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:网络环境下编号.zip


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/3 22:51:00 [只看该作者]

没看懂你的逻辑。

 

1、材料入库主表的结算单号,是自己单独生成,还是需要考虑表【应付款采购主表】?也就是生成的编号是否在另一个表重复?

 

2、应付款采购主表的结算单号,直接去【材料入库主表】的单号,还是自己单独生成?

 

3、你现在遇到什么问题?解决什么问题?哪里不会?


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


加好友 发短信
等级:二尾狐 帖子:534 积分:4420 威望:0 精华:0 注册:2012/11/28 16:03:00
  发帖心情 Post By:2018/1/4 8:15:00 [只看该作者]

项目中有两个窗口:1,入库单,2,结算单,项目已上传

1,条件是:入库类型为"采购入库"或"委外,加工入库"时,材料入库主表生成结算单号,同时在应付款采购主表查找该结算单号,如果未查到此单号则添加该材料入库主表生成的结算单号.

2,应付款采购主表的结算单号,两种途经生成:1,由材料入库主表生成,2,通过窗口"结算单"新增单据按钮生成.

3,现在遇到的问题是:1,在网络环境下多人操作测试时,应付款采购主表的结算单号会重复

4,需解决的问题是:1,应付款采购主表的结算单号通过  "编号"  表解决重号问题,需考虑两种途经生成:1,由材料入库主表生成,2,通过窗口"结算单"新增单据按钮生成

谢谢老师


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/4 9:24:00 [只看该作者]

两个表的编号,相互不影响的啊,后缀都不一样,为什么要区分?不看后缀,直接看前面的单号,要不一样?

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:网络环境下编号.foxdb


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/4 9:25:00 [只看该作者]

你本来生成编号的方法就没问题,不能生成,是因为你在datarowadding写了代码,你要写到datarowadded事件去。

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


加好友 发短信
等级:二尾狐 帖子:534 积分:4420 威望:0 精华:0 注册:2012/11/28 16:03:00
  发帖心情 Post By:2018/1/4 12:22:00 [只看该作者]

老师你好,材料入库主表的"入库单号"是采用临时编号方式是能正常生成"入库单号",关健是材料入库主表的"结算单号"目前不是通过"编号"表生成的"结算单号",在网络环境下通过sqlCompute("Max(结算单号)")方式生成的,所以会出现重复"结算单号",麻烦老师了


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/4 12:26:00 [只看该作者]

1、用sqlCompute可以处理重复,参考5楼代码。

 

2、即便你用【编号】表这个方式,也无法避免出现重复情况,同步保存的时候,也有可能重复的。


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


加好友 发短信
等级:二尾狐 帖子:534 积分:4420 威望:0 精华:0 注册:2012/11/28 16:03:00
  发帖心情 Post By:2018/1/4 12:39:00 [只看该作者]

以下是材料入库主表的DataRowAdding

临时"入库单号"的代码:

e.DataRow("录入人") = User.Name
e.DataRow("录入日期") = Date.Today
Static Index As Integer = 99999      ,临时编号
e.DataRow("入库单号") = "WLRK" & Format(Date.Today(),"yyMM") & "-" & Index
Index = Index - 1

材料入库主表的BeforeSaveDataRow

生成正式"入库单号",在网络环境下不会有重复编号

测试正常

 

材料入库主表的"结算单号"避免重号也采用上述方法

需涉及表事件两处的事件:

DataRowAdding  (生成临时编号),

BeforeSaveDataRow   保存是从后台"编号"表获取最大编号


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


加好友 发短信
等级:二尾狐 帖子:534 积分:4420 威望:0 精华:0 注册:2012/11/28 16:03:00
  发帖心情 Post By:2018/1/4 12:49:00 [只看该作者]

我上传的实例中的表是从外部数据源迁移到内部数据源的,实际应为外部表,材料入库主表的"入库单号"是不会重复的,因为是根据网络环境下的实例做的,没发现问题,现因为材料入库主表多了个"结算单号",需要与应付采购主表的"结算单号"相结合,材料入库主表采用sqlCompute("Max(结算单号)")代码,在多台电脑同时操作时会出现重号

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


加好友 发短信
等级:二尾狐 帖子:534 积分:4420 威望:0 精华:0 注册:2012/11/28 16:03:00
  发帖心情 Post By:2018/1/4 12:58:00 [只看该作者]

老师你好,因为是外部数据源,网络环境下的多人操作,需要考虑8楼的方法

 回到顶部
总数 12 1 2 下一页