Foxtable(狐表)用户栏目专家坐堂 → [求助]for each


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

主题:[求助]for each

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


加好友 发短信
等级:七尾狐 帖子:1629 积分:14396 威望:0 精华:0 注册:2014/6/6 8:42:00
[求助]for each  发帖心情 Post By:2016/5/19 14:22:00 [只看该作者]

老师 ,下一段代码,如果文本框中有了新的fa piao号码、作废fa piao号码不为空时,那么着色的代码会执行两次或以上,如何只执行一次?搞糊涂了,请指点,谢谢。

Dim r As Row = Tables("收费登记表").Current
If  r("打印次数") < 1 Then
    r.Save()
    MessageBox.Show("请选择""打印fa piao!""","提示")
    Return
Else
    Dim str As String = Tables("收费登记表").current("作废fa piao号码")
    Dim fphm As WinForm.TextBox = e.Form.Controls("TextBox3")
    For Each s As String In str.Split(";")
        If  s Like "*" & fphm.Value & "*"  Then
            MessageBox.Show("该fa piao已经作废!","提示")
            Return
        Else
            Dim cst As WinForm.Label = e.Form.Controls("Label46")
            r("计财收费") = User.Name
            r("收费时间") = Date.Now
            cst.Text = User.Name & Date.Now
            r("已付款") = True
            Dim doc As PrintDoc = e.Form.GernatePrintDoc()
            doc.Print()
            r("打印次数") = r("打印次数") + 1
            
            r.Save()
            e.Form.Close()
        End If
    Next
End If

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/19 15:05:00 [只看该作者]

msgbox(s)

 

做例子发上来看看。


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


加好友 发短信
等级:七尾狐 帖子:1629 积分:14396 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2016/5/20 7:13:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目5.rar


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


加好友 发短信
等级:七尾狐 帖子:1629 积分:14396 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2016/5/20 7:21:00 [只看该作者]

如果去掉下面的代码好像不会执行多次。是不是遍历时,如果有作废fa piao号码,它又不等于文本框中的值,按照代码就执行两次。

 

Dim Result As DialogResult
Result = MessageBox.Show("您确定要重新打印fa piao吗?", "提示", MessageBoxButtons.YesNo,    

 MessageBoxIcon.Question)
 If Result = DialogResult.Yes Then


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/5/20 9:03:00 [只看该作者]

这跟数据的业务逻辑有关,请提供可以测试的数据。

当作废fa piao有多个又不包含指定fa piao的时候,就会这样

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/20 9:19:00 [只看该作者]

例子如何测试才会出现你的问题?不知道怎么触发啊。

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


加好友 发短信
等级:七尾狐 帖子:1629 积分:14396 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2016/5/20 15:59:00 [只看该作者]

如果不是空的,双击行打开打印界面,在fa piao号码框中输入号码十位数,点击打印fa piao。完成后双击打开界面,确认作废。再在fa piao号码框中输入新号码十位数,点击重新打印就会出现。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/20 16:16:00 [只看该作者]

Dim r As Row = Tables("收费登记表").Current
If  r("打印次数") < 1 Then
    r.Save()
    MessageBox.Show("请选择""打印fa piao!""","提示")
    Return
Else
    Dim str As String = Tables("收费登记表").current("作废fa piao号码")
    Dim fphm As WinForm.TextBox = e.Form.Controls("TextBox3")
   
    If str.contains(fphm.Value) Then
        MessageBox.Show("该fa piao已经作废!","提示")
        Return
    Else
        Dim Result As DialogResult
        Result = MessageBox.Show("确定打印fa piao吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
        If Result = DialogResult.Yes Then
           
            Dim cst As WinForm.Label = e.Form.Controls("Label46")
            r("计财收费") = User.Name
            r("收费时间") = Date.Now
            cst.Text = User.Name & Date.Now
            r("已付款") = True
            Dim doc As PrintDoc = e.Form.GernatePrintDoc()
            doc.Preview
            r("打印次数") = r("打印次数") + 1
           
            r.Save()
            e.Form.Close()
        End If
    End If
End If


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


加好友 发短信
等级:七尾狐 帖子:1629 积分:14396 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2016/5/20 23:22:00 [只看该作者]

谢谢!系统中多处用到 contains ,怎么就没想到呢?哈哈哈哈哈。。。。不熟练。

 回到顶部