周一至周五 : 08:30 - 17:30 客服专员电话/微信:17301649371 QQ:2627049059
微信咨询

扫码微信咨询

关注公众号

关注微信公众号

电话: 021 5161 9370
返回顶部
自定义条件生成编号
显示全部楼层 倒序浏览 发表日期 2023-12-27 11:30:44 658次阅读 0次回复
本帖最后由 快表客服 于 2023-12-27 13:34 编辑


自定义条件生成编号


需求:按一个单元格中所选择的不同的值并依据另外一个日期字段的年份值生成一个流水编号。
比如:今年的合同类型A生成一个类型的编号,合同类型B生成另外一个类型的编号,下一年的两类合同分别生成下一年度的流水编号


效果:
GIF 2023-12-27 11-18-13.gif





实现:通过表间公式



20231227112825.jpg


  1. 定义变量 @Count Int = (
  2. Select 排除重复 计数( T_2049.F_65621 )  From  T_2049  Where  [编号_主表].[编号类型]  =   本报表.[编号_主表].[编号类型]  并且 年份([编号_主表].[签约日期])  = 年份(本报表.[编号_主表].[签约日期])
  3. );  
  4. If @Count > 0  
  5. Begin  
  6.     Select 排除重复 Left(最大值( T_2049.F_65621 ),7) + Right('0000'+ Cast(Right(最大值( T_2049.F_65621 ),4)+1 As Varchar(4)),4) AS 本报表.[编号_主表].[编号]x填充不锁定
  7. From  T_2049  Where [编号_主表].[编号类型]  = 本报表.[编号_主表].[编号类型] 并且 年份([编号_主表].[签约日期])  = 年份(本报表.[编号_主表].[签约日期])
  8. END  
  9. ELSE  
  10. Begin  
  11.     Select Case
  12.   When  本报表.[编号_主表].[编号类型] =  'A' Then 'ST'+ Convert(Varchar(4),年份( 本报表.[编号_主表].[签约日期])) + '-0001'
  13.         When  本报表.[编号_主表].[编号类型] =  'B' Then 'XN'+ Convert(Varchar(4),年份( 本报表.[编号_主表].[签约日期])) + '-0001'
  14.         End  AS 本报表.[编号_主表].[编号]x填充不锁定
  15.         From T_0
  16. End
复制代码




T_2049.F_65621是编号字段,表间公式执行时机为保存执行



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则  允许回帖邮件提醒楼主

快表软件是国内较早研究表格类软件开发平台的团队之一,迄今已有十多年的行业经验.致力于为企事业单位提供实用可靠的数字化平台。
  • 微信公众号

  • 微信小商店

  • 微信客服

  • Powered by Discuz! X3.4 | Copyright © 2022-2024, XiRong Soft. | 快表软件
  • 沪ICP备13033196号 | 营业执照 |上海西戎软件科技有限公司|沪公网安备31011502002146号|沪ICP备13033196号 |