Foxtable(狐表)用户栏目专家坐堂 → 如何实现判断空表执行?


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

主题:如何实现判断空表执行?

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


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
如何实现判断空表执行?  发帖心情 Post By:2021/6/29 14:35:00 [只看该作者]

如何实现判断空表执行?

需求:
如果"表B"为空,"表A"的数据复制到"表B"
如果"表B"不为空,而且,审核为空,提示请审核
如果"表B"不为空,而且,审核不为空,"表B"的数据复制"表C",完成时,提示复制完成后,清空"表B"

下面是思路,请老师,帮完善,谢谢,

如果"表B"为空,"表A"的数据复制到"表B"

Dim Cols1() As String = {"列一","列二","列三"}
Dim Cols2() As String = {"列一","列二","列三"}
For Each dr1 As DataRow In DataTables("表A").Select("[审核] = '已审核'")
    Dim dr2 As DataRow = DataTables("表B").AddNew()
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next

如果"表B"不为空,而且,审核为空,提示请审核
MessageBox.Show("请审核!")

如果"表B"不为空,而且,审核不为空,"表B"的数据复制"表C",完成时,提示复制完成后,清空"表B"

Dim Cols1() As String = {"列一","列二","列三"}
Dim Cols2() As String = {"列一","列二","列三"}
For Each dr1 As DataRow In DataTables("表B").Select("[审核] = '已审核'")
    Dim dr2 As DataRow = DataTables("表C").AddNew()
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next

MessageBox.Show("复制完成!")

DataTables("表B").RemoveFor("")

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

行数为0就是空表:http://www.foxtable.com/webhelp/topics/0419.htm

if DataTables("表B").DataRows.Count = 0 then
msgbox("空表")
end if

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

审核为空是是哪一行审核为空?还是所有行审核都为空

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


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2021/6/29 14:46:00 [只看该作者]

审核列发现任意一行,为空或不为空,所有的

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


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2021/6/29 14:47:00 [只看该作者]

是要写窗口上,“检测”按键的单击,去实现上面需求

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110649 积分:563159 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/29 15:03:00 [只看该作者]

为空条件

For Each dr1 As DataRow In DataTables("表B").Select("[审核] is null")

为空条件

For Each dr1 As DataRow In DataTables("表B").Select("[审核] is not null")

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


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2021/6/29 15:56:00 [只看该作者]

需求:
如果"表B"为空,"表A"的数据复制到"表B"
如果"表B"不为空,而且,审核为空,提示请审核
如果"表B"不为空,而且,审核不为空,"表B"的数据复制"表C",完成时,提示复制完成后,清空"表B"


如果"表B"为空,"表A"的数据复制到"表B",  
If DataTables("表B").DataRows.Count = 0 Then
    Dim Cols1() As String = {"列一","列二","列三"}
Dim Cols2() As String = {"列一","列二","列三"}
For Each dr1 As DataRow In DataTables("表A").Select("[审核] = '已审核'")
    Dim dr2 As DataRow = DataTables("表B").AddNew()
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next

如果"表B"不为空,而且,审核为空,提示请审核

ElseIf DataTables("表B").DataRows(0).IsNull("审核") Then
    MessageBox.Show("请审核!")

如果"表B"不为空,而且,审核不为空,"表B"的数据复制"表C",完成时,提示复制完成后,清空"表B"

ElseIf DataTables("表B").DataRows(0).IsNull("审核"为空) Then

    Dim Cols1() As String = {"列一","列二","列三"}
Dim Cols2() As String = {"列一","列二","列三"}
For Each dr1 As DataRow In DataTables("表B").Select("[审核] = '已审核'")
    Dim dr2 As DataRow = DataTables("表C").AddNew()
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next

MessageBox.Show("复制完成!")

DataTables("表B").RemoveFor("")
Else
    
End If

老师,大致代码上面,第一段代码执行是可以,后面审核为空与不为空有问题

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

……
如果"表B"不为空,而且,审核为空,提示请审核

Else
    If DataTables("表B").find("审核 is null") isnot nothing Then
    MessageBox.Show("请审核!")

     如果"表B"不为空,而且,审核不为空,"表B"的数据复制"表C",完成时,提示复制完成后,清空"表B"
    Else

    Dim Cols1() As String = {"列一","列二","列三"}
Dim Cols2() As String = {"列一","列二","列三"}
……

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


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2021/6/29 16:17:00 [只看该作者]



1,如果"表B"不为空,而且,审核不为空,"表B"的数据复制"表C",完成时,提示复制完成后,清空"表B"

ElseIf DataTables("表B").DataRows(0).IsNull("审核"为空) Then,,这个如果"表B"不为空,而且,审核不为空,为会写

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

    If DataTables("表B").find("审核 is null") isnot nothing Then如果为空
    MessageBox.Show("请审核!")

     如果"表B"不为空,而且,审核不为空,"表B"的数据复制"表C",完成时,提示复制完成后,清空"表B"
    Else否则不为空

 回到顶部