Foxtable(狐表)用户栏目专家坐堂 → 既要次日从零开始算,又不想发布后更新?


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

主题:既要次日从零开始算,又不想发布后更新?

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


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
既要次日从零开始算,又不想发布后更新?  发帖心情 Post By:2019/3/15 16:15:00 [显示全部帖子]

 打印窗口的AfterLoad事件:
Dim d As Date
If Tables("出入库明细表.出入库登记表").Rows.Count <> 0 AndAlso  Date.TryParse(Tables("出入库明细表.出入库登记表").Current("出库日期"), d) Then
    Dim bh As String = "YH" & Format(d, "yyyyMMdd")
    Dim max As String
    Dim idx As Integer
    Dim fdr As DataRow = DataTables("出入库打印信息表").Find("日期 = #" & d & "#")
    If fdr Is Nothing Then
        fdr = DataTables("出入库打印信息表").AddNew
        fdr("日期") = d
        fdr("次数") = 0
    End If
    e.Form.Controls("出库编号").Text = bh & Format(fdr("次数") + 1, "000")
End If 

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


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
  发帖心情 Post By:2019/3/15 16:29:00 [显示全部帖子]

表的DataColChanged事件:
Select Case e.DataCol.Name
    Case "打印"
        If Forms("出入库打印窗口").Opened Then
            Dim d As Date
            If Date.TryParse(e.DataRow("出库日期"), d)
                Dim bh As String = "YH" & Format(d, "yyyyMMdd")
                Dim max As String
                Dim idx As Integer
                Dim fdr As DataRow = DataTables("出入库打印信息表").Find("日期 = #" & d & "#")
                If fdr Is Nothing Then
                    fdr = DataTables("出入库打印信息表").AddNew
                    fdr("日期") = d
                    fdr("次数") = 0
                End If                
                Forms("出入库打印窗口").Controls("出库编号").Text = bh & Format(fdr("次数") + 1, "000")
            End If
        End If
End Select



打印窗口的AfterLoad事件:
Dim d As Date
If Tables("出入库明细表.出入库登记表").Rows.Count <> 0 AndAlso  Date.TryParse(Tables("出入库明细表.出入库登记表").Current("出库日期"), d) Then
    Dim bh As String = "YH" & Format(d, "yyyyMMdd")
    Dim max As String
    Dim idx As Integer
    Dim fdr As DataRow = DataTables("出入库打印信息表").Find("日期 = #" & d & "#")
    If fdr Is Nothing Then
        fdr = DataTables("出入库打印信息表").AddNew
        fdr("日期") = d
        fdr("次数") = 0
    End If
    e.Form.Controls("出库编号").Text = bh & Format(fdr("次数") + 1, "000")
End If




打印按钮的单击事件:
Dim fdr As DataRow = DataTables("出入库打印信息表").Find("日期 = #" & e.Form.Controls("出库日期").Text & "#")
fdr("次数") += 1
For Each r As Row In Tables("出入库明细表.出入库登记表")
    r("出库编号") = e.Form.Controls("出库编号").Text
    r("出库日期") = e.Form.Controls("出库日期").value
    r("开piao人") = e.Form.Controls("开piao人").Text
Next

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


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点甜) 请具体说明你的问题是什么。...  发帖心情 Post By:2019/3/15 17:11:00 [显示全部帖子]

想要达到的效果是:既要次日从零开始算,又不想发布后更新?
现状是:每次项目重新发布后,打开项目,即使当天已经打印了50次,只要发布项目,打印的出库编号,尾号也会从001重新开始算起,不知道代码应该怎么改?
原先的问题代码,已经在发在上面了!

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


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点甜)1、你用的是【内部数据源】,还是外部...  发帖心情 Post By:2019/3/15 18:21:00 [显示全部帖子]

使用的是外部数据源,发布前后是在同一个数据库运行,应该不是这个问题吧!
是不是这个问题,怎么改才好?

此主题相关图片如下:i45gpi$tjfae3l`f@od3s.png
按此在新窗口浏览图片
思路是:搜索当前表,当天要是没有记录,就次数=0;如果有记录就不改,这个代码应该怎么改?

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


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点甜)没看懂你表达的意思,做个实例发上来...  发帖心情 Post By:2019/3/16 10:04:00 [显示全部帖子]

因为源文件数据不方便,所有弄了个内部数据源的文件,
测试可以在“统正出库打印窗口”中进行,求帮助,谢谢!

[此贴子已经被作者于2019/4/30 9:55:22编辑过]

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


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点蓝)我测试没有问题!按照什么步骤测试会...  发帖心情 Post By:2019/3/16 10:40:00 [显示全部帖子]

不知道是不是代码有问题,每次项目重新发布,打开后,打印之后的出库编号都会重置,从零开始了?
比如,我今天打印了10次,出库编号是尾号010,但是发布项目后,从新打开就会又从0开始算?



此主题相关图片如下:qq图片20190316103855.png
按此在新窗口浏览图片



这里的次数,就是代码中的,打印的次数,
24号当天,都打印了69次了,项目一发布,又从第一次开始算了?

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


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点蓝)9楼的实例我测试没有我,不管是发布前...  发帖心情 Post By:2019/3/16 14:24:00 [显示全部帖子]

不可能啊,因为之前的代码,在打印窗口的AfterLoad事件中,
Dim d As Date
If Tables("出入库明细表.出入库登记表").Rows.Count <> 0 AndAlso  Date.TryParse(Tables("出入库明细表.出入库登记表").Current("出库日期"), d) Then
    Dim bh As String = "YH" & Format(d, "yyyyMMdd")
    Dim max As String
    Dim idx As Integer
    Dim fdr As DataRow = DataTables("出入库打印信息表").Find("日期 = #" & d & "#")
    If fdr Is Nothing Then
        fdr = DataTables("出入库打印信息表").AddNew
        fdr("日期") = d
        fdr("次数") = 0
    End If
    e.Form.Controls("出库编号").Text = bh & Format(fdr("次数") + 1, "000")
End If

标了红色的代码,就是会造成这个结果的,而我只是不知道该怎么改?
希望老师帮助,
谢谢!

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


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点蓝)我测试没有问题,这个代码也不会有问...  发帖心情 Post By:2019/3/16 15:03:00 [显示全部帖子]

要是真的排除代码有问题的可能性的话,那就只能是操作问题了,我把我的操作步骤说一下,您看看:
1、员工电脑,正常打印,当天打印50次,出库编号的尾号051;
2、服务器电脑,修改完项目,发布;
3、员工电脑,局域网下载到自己电脑上,打开新的项目,再次打印;
4、发现打印的出库编号的尾号为001;

请问,我这中间,是不是有什么不规范的需要改?
(数据库用的还是原来的,只是publish换了新的)

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


加好友 发短信
等级:四尾狐 帖子:901 积分:8247 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点蓝)9楼的实例您发布测试有这个问题吗?或...  发帖心情 Post By:2019/3/16 16:46:00 [显示全部帖子]

您是指,代码中显示,次数每次都没有保存吗?
和换不换机子其实没多大关系?

 回到顶部