Foxtable(狐表)用户栏目专家坐堂 → 隔月回收编号不能用如何实现?


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

主题:隔月回收编号不能用如何实现?

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


加好友 发短信
等级:六尾狐 帖子:1473 积分:9888 威望:0 精华:0 注册:2020/11/4 22:15:00
隔月回收编号不能用如何实现?  发帖心情 Post By:2025/4/16 14:11:00 [只看该作者]

3、:

Dim msg As String = e.Message
If
 msg.StartsWith(":p"AndAlso msg.EndsWith("p:"Then
    msg = msg.SubString(2, msg.Length - 4)
    If flbhs.ContainsKey(msg) Then 
'
如果存在这个月的编号
        flbhs(msg) = flbhs(msg) + 1 
'
将该月最大编号1
    
Else
        flbhs.Add(msg,1'如果是这个月的首次编号,则编号等于1
    End If
    e.ReturnValue = flbhs(msg) 
'将编号返回给客户端

End
 If

客户端的设计

选择客户端项目的订单表,

If e.DataCol.Name = "日期" Then
    If e.DataRow.IsNull(
"
日期"Then
        e.DataRow(
"
编号") = Nothing
    Else
        If QQClient.Ready = False Then
            PopMessage(
"QQClient
未启动,无法生成编号!","提示",PopIconEnum.Infomation,5)
        Else
            Dim bh As String = Format(e.DataRow(
"
日期"),"yyyyMM")
            Dim rt As String =  QQClient.SendWait(":p" & bh & "p:")
            Dim id As Integer
            If rt > "" Then
                If  Integer.TryParse(rt,id)  Then
                    e.DataRow(
"
编号") = bh & "-" & Format(id,"000")
                Else
                    PopMessage(
"
服务器返回错误信息:" & rt,"提示",PopIconEnum.Infomation,5)
                End If
            Else
                PopMessage(
"
服务器无响应,无法生成编号!","提示",PopIconEnum.Infomation,5)
            End If
        End If
    End 
If

End
 If


回收编号利用,如何处理隔月多余的编号,比如现在是2025年4月,在回收编号表中有2025年3月的编号,如何去不用,比如现应是DD-202504-001,如果回收表有DD-202503-029,如何实现?



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


加好友 发短信
等级:超级版主 帖子:113574 积分:578377 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/4/16 14:29:00 [只看该作者]

查回收表的时候加上条件,比如:

dim f as string = "原来其它条件 and 编号 like '*-202504-*'"

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


加好友 发短信
等级:六尾狐 帖子:1473 积分:9888 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2025/4/17 9:45:00 [只看该作者]

在回收表增加一列日期,日期是记录每次回收日期,
现在需求:后台数据库在跨月自动检查回收表是否有上月的记录,如果有自动从后台清空,仅保存当前的记录,如何实现?

比如:回收表中有如下数据:
订单表    2025-03-29     DD-202503-005,这是上月,当前月后台自动检测后自动清除。
订单表    2025-04-02     DD-202504-005,这是本月,保留再利用

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


加好友 发短信
等级:超级版主 帖子:113574 积分:578377 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/4/17 9:55:00 [只看该作者]

dim d as date = cdate("2025-04-02").addmonths(-1)
dim s as string = "DD-" & format(d,"yyyyMM")
datatables("回收表").sqldeletefor("编号 like '" & s & "%'")

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


加好友 发短信
等级:六尾狐 帖子:1473 积分:9888 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2025/4/17 14:29:00 [只看该作者]

dim d as date = cdate("2025-04-02").addmonths(-1)
dim s as string = "DD-" & format(d,"yyyyMM")
datatables("回收表").sqldeletefor("编号 like '" & s & "%'")
问题一:这代码要放在哪里?
问题二;这代码对回收多表的编号,当前只有表1,后面有表2表3表4表5、、、、"DD-,"DW,  DF-/////,就不适用,
如何实现用回收表的日期与不本月的记录删除?


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


加好友 发短信
等级:超级版主 帖子:113574 积分:578377 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/4/17 14:44:00 [只看该作者]

1、放到AfterOpenProject,或者做个计划管理,每月1号处理

2、去掉前缀

 回到顶部