Foxtable(狐表)用户栏目专家坐堂 → 代码咨询!


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

主题:代码咨询!

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
代码咨询!  发帖心情 Post By:2015/2/11 15:54:00 [只看该作者]

如何判断当FILTER定义的SQL语句找不到符合条件的记录时用MESSAGEBOX提示一遍?

 

If startdate.Value=Nothing OrElse enddate.value=Nothing Then
    Messagebox.Show("请选则起始日期或终止日期")
    Return
Else
    For Each dr As DataRow In dt2.SQLSelect("commitTime >='" & startdate.value & "' and PromiseTimeString <='" & EndDate.value & "'","","PNumber")
        Dim filter As String = "PreID like '%" & dr("PNumber") & "'"
        Dim fdr As DataRow = dt1.SQLFind(filter)
        If fdr Is Nothing Then
            Dim ndr As DataRow = dt3.AddNew
            ndr("项目编号") = dr("pNumber")
            ndr("客户名称") = dr("companyName")
        End If
    Next

End If

 

 


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/2/11 16:00:00 [只看该作者]

If fdr Is Nothing Then
            Dim ndr As DataRow = dt3.AddNew
            ndr("项目编号") = dr("pNumber")
            ndr("客户名称") = dr("companyName")
Else
  messagebox.show("没找到:" & dr("pNumber"))
        End If

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2015/2/11 16:08:00 [只看该作者]

还是不行,可能我没有表述清楚。上面的代码实现的功能是A表的PREID字段去B表的Pnumber字段搜索,如果A表中所有记录B表中都有,则MESSAGE提示,未搜索到则把未搜索到的记录罗列出来。

 

红字部分是我想要提示功能不知道加在哪合适,让其只提示一遍!

[此贴子已经被作者于2015/2/11 16:08:48编辑过]

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


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

If startdate.Value=Nothing OrElse enddate.value=Nothing Then
    Messagebox.Show("请选则起始日期或终止日期")
    Return
Else
    Dim flag As Boolean = False
    For Each dr As DataRow In dt2.SQLSelect("commitTime >='" & startdate.value & "' and PromiseTimeString <='" & EndDate.value & "'","","PNumber")
        Dim filter As String = "PreID like '%" & dr("PNumber") & "'"
        Dim fdr As DataRow = dt1.SQLFind(filter)
        If fdr Is Nothing Then
            Dim ndr As DataRow = dt3.AddNew
            ndr("项目编号") = dr("pNumber")
            ndr("客户名称") = dr("companyName")
        Else If flag = False Then
            msgbox("有重复值")
            flag = True
        End If
    Next
   
End If

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2015/2/11 16:22:00 [只看该作者]

问题解决,多谢老师

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2015/2/11 16:39:00 [只看该作者]

刚刚测试出现一些问题,当A表中所有记录B表中都有,则MESSAGE提示这部分正常,当未搜索到则把未搜索到的记录罗列出来后也出现了这个MESSAGE提示。这是我不想要的

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


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

 什么意思啊?只要有一条重复,就会提示啊。
[此贴子已经被作者于2015/2/11 16:45:42编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2015/2/11 16:52:00 [只看该作者]

举个例子:

第一种情况:A表中三行记录ID列值为 001、 002、 003 B表中三行记录BID列值为001 、002、 003,A表去B表中找,都找到了则弹出提示“没有丢失的记录”

第二种情况:A表中三行记录ID列值为 001、 002、 003 B表中三行记录BID列值为001、002 、003,004 。B表中比A表多出了004,则把004这条记录列出来且不要任何提示。

您的代码第二种情况也出现了提示,不知道老师我说明白没?

[此贴子已经被作者于2015/2/11 16:53:33编辑过]

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


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

If startdate.Value=Nothing OrElse enddate.value=Nothing Then
    Messagebox.Show("请选则起始日期或终止日期")
    Return
Else
    Dim flag As Boolean = False
    For Each dr As DataRow In dt2.SQLSelect("commitTime >='" & startdate.value & "' and PromiseTimeString <='" & EndDate.value & "'","","PNumber")
        Dim filter As String = "PreID like '%" & dr("PNumber") & "'"
        Dim fdr As DataRow = dt1.SQLFind(filter)
        If fdr Is Nothing Then
            Dim ndr As DataRow = dt3.AddNew
            ndr("项目编号") = dr("pNumber")
            ndr("客户名称") = dr("companyName")
            flag = True
        End If
    Next
    If flag = False Then
        msgbox("提示")
    End If
End If

 回到顶部