Foxtable(狐表)用户栏目专家坐堂 → [求助]可能是对副表理解不对,编写的核销代码不正常


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

主题:[求助]可能是对副表理解不对,编写的核销代码不正常

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
[求助]可能是对副表理解不对,编写的核销代码不正常  发帖心情 Post By:2014/12/7 17:46:00 [只看该作者]

在窗口中,想通过有窗口副表进行点选后,进行核销操作,即把相关记录置“已对账”为真,置“对账日期”为当天日期。

但是,对窗口表进行选择后,明明是选择了,几条,但是核销操作只能完成一部分,即总是少几条。

 

是不是这样操作不能放在副事表,要直接放在主表啊?

 

核销代码:

Tables(e.form.name & "_出库主表").StopRedraw
Tables(e.Form.Name &  "_出库主表").Filter = "对账单 = True And 已对账 = False "
MessageBox.Show("窗口出库主表已选择记录数:" & Tables(e.Form.Name &  "_出库主表").Rows.Count)
If Tables(e.Form.Name &  "_出库主表").Rows.Count>0
    If MessageBox.Show("是否核销所选出库单?" & vbcrlf & "核销后的单据将不出现在出库单列表中","请确认",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes Then
        Dim count As  Integer = 0
        For Each r As Row In Tables(e.Form.Name &  "_出库主表").Rows
            r("已对账") =  r("对账单")
            r("对账日期") = Date.Today
            MessageBox.Show("第 " & count+1 & " 次处理出库主表")   '总是比选择的记录数少
            '这里已删除其他处理代码
            count= count+1   '提示处理几行
        Next
    End If
Else
    MessageBox.Show("没有选择需要核销的出库单","提示")
End If
Tables(e.form.name & "_出库主表").ResumeRedraw

 

 


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


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

 For Each r As DataRow In Tables(e.Form.Name &  "_出库主表").DataTable.Select("对账单 = True And 已对账 = False")
    r("已对账") =  r("对账单")
    r("对账日期") = Date.Today
    MessageBox.Show("第 " & count+1 & " 次处理出库主表")   '总是比选择的记录数少
   
    count= count+1   '提示处理几行
Next

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


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
  发帖心情 Post By:2014/12/7 18:02:00 [只看该作者]

谢谢甜总,现在正确了。图片点击可在新窗口打开查看

看样子,自己没有理解副表的含义。例子中的问题,想了一个下午都没搞清楚。

 

 


 回到顶部