Foxtable(狐表)用户栏目专家坐堂 → 条件提示


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

主题:条件提示

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


加好友 发短信
等级:一尾狐 帖子:419 积分:3316 威望:0 精华:0 注册:2012/3/21 10:44:00
条件提示  发帖心情 Post By:2012/9/17 20:00:00 [只看该作者]

我想实现以下功能不知是否能够实现。

有两个表,表A与表B。 表A有审核列与编号列,表B有编号列。 那么筛选出表A审核列=1 的编号,再查找表B是否有相同的编号,如果表B里没有找到相同的编号那么提示此编号不存在。

采用SQL数据库,表B默认不加载数据。

恳请各位老师的帮助!


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/9/17 20:07:00 [只看该作者]

没看明白你的过程

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


加好友 发短信
等级:一尾狐 帖子:419 积分:3316 威望:0 精华:0 注册:2012/3/21 10:44:00
  发帖心情 Post By:2012/9/17 20:37:00 [只看该作者]

谢谢狐爸!

 

我是想做一个按钮,点击按钮能够提示。

例如:表A编号列里有 A1.A2.A3.A4.A5.A6.A7.A8  ,已通过审核的为A2.A3.A4.A5.A6.A7 ,在表B的编号列里查找是否存在A2.A3.A4.A5.A6.A7 。

如果表B的编号里只有A2.A5.A6.A7 ,那么提示A3.A4不存在

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2012/9/17 22:52:00 [只看该作者]

Dim names As String
For Each Name As String In DataTables("表A").GetComboListString("编号","[审核] = true").Split("|")
    If not DataTables("表B").GetComboListString("编号","编号 is not null").Contains(Name)
        names & = " " & name
    End If
Next

MessageBox.Show("不存在的编号是:" & vbcrlf & Names.Trim(" "))


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


加好友 发短信
等级:一尾狐 帖子:419 积分:3316 威望:0 精华:0 注册:2012/3/21 10:44:00
  发帖心情 Post By:2012/9/18 11:29:00 [只看该作者]

非常感谢CZY版主对我的帮助!

 

还有些问题?

我采用外部数据源,表B默认不加载数据。

可否增加以下带码,如果对庞大的数据全部加载会影响速度吗

DataTables("表B").LoadFilter = ""
DataTables("表B").Load() 


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


加好友 发短信
等级:一尾狐 帖子:419 积分:3316 威望:0 精华:0 注册:2012/3/21 10:44:00
  发帖心情 Post By:2012/9/21 19:51:00 [只看该作者]

以下是引用czy在2012-9-17 22:52:00的发言:

Dim names As String
For Each Name As String In DataTables("表A").GetComboListString("编号","[审核] = true").Split("|")
    If not DataTables("表B").GetComboListString("编号","编号 is not null").Contains(Name)
        names & = " " & name
    End If
Next

MessageBox.Show("不存在的编号是:" & vbcrlf & Names.Trim(" "))

发现还有些问题!

 

当表B的型号列存在 dd11 , 不存在 dd1 ,表A型号列存在 dd1 ,不会提示dd1


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2012/9/21 20:06:00 [只看该作者]

这样看看

 

Dim names As String
For Each Name As String In DataTables("表A").GetComboListString("编号","[审核] = true").Split("|")
Output.Show(name)
    If not DataTables("表B").GetComboListString("编号","编号 is not null").Contains(Name & "|")
        names & = "|" & name
    End If
Next

MessageBox.Show("不存在的编号是:" & vbcrlf & Names.Trim("|").Replace("|"," "))


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


加好友 发短信
等级:一尾狐 帖子:419 积分:3316 威望:0 精华:0 注册:2012/3/21 10:44:00
  发帖心情 Post By:2012/9/22 0:04:00 [只看该作者]

非常感谢CZY版主!

 

现在的问题是它会多提示一个编号。

比如表B里不存在的是 A2  A6   ,提示为 A2 A6 A8  ,提示多了一个编号,A8 表B里是存在的

如果表A里的编号表B里都存在,它会提示提示最后一个编号。


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/9/22 9:44:00 [只看该作者]

在C版基础上改了一句,测试有效。
 
Dim names As String
For Each Name As String In DataTables("表A").GetComboListString("编号","[审核] = true").Split("|")
Output.Show(name)
    If not (DataTables("表B").GetComboListString("编号","编号 is not null") & "|").Contains(Name & "|")
        names & = "|" & name
    End If
Next

MessageBox.Show("不存在的编号是:" & vbcrlf & Names.Trim("|").Replace("|"," "))

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


加好友 发短信
等级:一尾狐 帖子:419 积分:3316 威望:0 精华:0 注册:2012/3/21 10:44:00
  发帖心情 Post By:2012/9/22 10:21:00 [只看该作者]

问题已解决

 

谢谢各位!


 回到顶部