Foxtable(狐表)用户栏目专家坐堂 → [求助]求写代码?


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

主题:[求助]求写代码?

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


加好友 发短信
等级:小狐 帖子:316 积分:3064 威望:0 精华:0 注册:2014/3/21 17:22:00
[求助]求写代码?  发帖心情 Post By:2014/6/5 1:50:00 [只看该作者]

表A中有一逻辑列,名称为“是否过账”,如果该逻辑列中有“未过账”的部分就进行“过账”处理,如果没有“未过账”,全部为“已过账”的话,就进行提示“没有要处理的数据,已全部过账啦!”

 For Each r As Row In Tables("表A").Rows
            If  r("是否过账") = True Then
                MessageBox.Show("没有要处理的数据哟,已全部过账啦!", "提示", MessageBoxButtons.ok)
            Else
                r("是否过账") = True
            End If
        Next
不知道代码错在哪?要么没提示,要么提示框很多,烦请高手帮忙修改一下,谢谢!


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


加好友 发短信
等级:一尾狐 帖子:451 积分:3045 威望:0 精华:1 注册:2012/7/17 22:08:00
  发帖心情 Post By:2014/6/5 3:46:00 [只看该作者]

你用的遍历那么就会对每行就行判断
            If  r("是否过账") = True Then
                MessageBox.Show("没有要处理的数据哟,已全部过账啦!", "提示", MessageBoxButtons.ok)
            Else
                r("是否过账") = True
            End If
你这样写的话有一行列 r("是否过账") = True 那么MessageBox.Show一次所以提示框很多
可以使用find或类似语句,如果找到r("是否过账") = false的行那么令r("是否过账")=true就可以了

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


加好友 发短信
等级:管理员 帖子:47480 积分:251289 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/6/5 7:44:00 [只看该作者]

Dim cnt as integer

For Each r As Row In Tables("表A").Rows
            If  r("是否过账") = false Then
                r("是否过账") = True

                cnt = cnt +1
            End If
Next

if cnt = 0 then

     MessageBox.Show("没有要处理的数据哟,已全部过账啦!", "提示", MessageBoxButtons.ok)
else

    MessageBox.Show("过账完毕,合计过账" & cnt & "条记录", "提示", MessageBoxButtons.ok)
end if


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


加好友 发短信
等级:一尾狐 帖子:451 积分:3045 威望:0 精华:1 注册:2012/7/17 22:08:00
  发帖心情 Post By:2014/6/5 11:42:00 [只看该作者]

精粹啊啊啊!

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2014/6/5 12:32:00 [只看该作者]

Dim s1 as string

Dim drs as List(of Datarow) =  DataTables("表A").Select("是否过账= 0")

if  drs.count > 0 Then 

   For Each dr As dataRow In drs     
         dr("是否过账") = True

   Next

End if

if drs.count = 0 then

       s1 = "没有要处理的数据哟,已全部过账啦!"     

else

      s1 = "过账完毕,合计过账" &  drs.count   & "条记录"!"

End if 

MessageBox.Show(s1, "提示", MessageBoxButtons.ok)

[此贴子已经被作者于2014-6-5 12:32:57编辑过]

 回到顶部