以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 代码咨询! (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=64343) |
-- 作者:wh420 -- 发布时间:2015/2/11 15:54:00 -- 代码咨询! 如何判断当FILTER定义的SQL语句找不到符合条件的记录时用MESSAGEBOX提示一遍?
If startdate.Value=Nothing OrElse enddate.value=Nothing Then End If
|
-- 作者:Bin -- 发布时间: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 -- 发布时间:2015/2/11 16:08:00 -- 还是不行,可能我没有表述清楚。上面的代码实现的功能是A表的PREID字段去B表的Pnumber字段搜索,如果A表中所有记录B表中都有,则MESSAGE提示,未搜索到则把未搜索到的记录罗列出来。
红字部分是我想要提示功能不知道加在哪合适,让其只提示一遍! [此贴子已经被作者于2015/2/11 16:08:48编辑过]
|
-- 作者:有点甜 -- 发布时间: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 -- 发布时间:2015/2/11 16:22:00 -- 问题解决,多谢老师 |
-- 作者:wh420 -- 发布时间:2015/2/11 16:39:00 -- 刚刚测试出现一些问题,当A表中所有记录B表中都有,则MESSAGE提示这部分正常,当未搜索到则把未搜索到的记录罗列出来后也出现了这个MESSAGE提示。这是我不想要的 |
-- 作者:有点甜 -- 发布时间:2015/2/11 16:45:00 -- 什么意思啊?只要有一条重复,就会提示啊。 [此贴子已经被作者于2015/2/11 16:45:42编辑过]
|
-- 作者:wh420 -- 发布时间: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编辑过]
|
-- 作者:有点甜 -- 发布时间: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 |