Foxtable(狐表)用户栏目专家坐堂 → 以A表中的数据为条件查找B表


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

主题:以A表中的数据为条件查找B表

帅哥,在线噢!
裴保民
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1995 积分:12690 威望:0 精华:0 注册:2017/4/3 15:01:00
以A表中的数据为条件查找B表  发帖心情 Post By:2017/6/13 16:26:00 [只看该作者]

怎样实现在A表中双击某一个字段,以这个字段上的数据作为查找条件来查找B表中符合条件的数据呢。

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


加好友 发短信
等级:超级版主 帖子:110597 积分:562881 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/13 17:27:00 [只看该作者]

DoubleClick事件

If e.Col.Name = "第十列" Then
    e.Cancel = True '禁止进入编辑状态
    Dim dr As DataRow = DataTables("表B").Find("第一列='" & e.Row("第十列") &"'")
    If dr IsNot Nothing Then
        其它处理
    End If
End If

 回到顶部
帅哥,在线噢!
裴保民
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1995 积分:12690 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2017/6/13 18:48:00 [只看该作者]

老师追问一下假如第十列是一个布尔变量只有是‘‘否’’的情况下执行并将查询到的数据行每个字段进行赋值怎么处理呢?

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/13 19:10:00 [只看该作者]

If e.Col.Name = "第十列" Then
    e.Cancel = True '禁止进入编辑状态
    For Each dr As DataRow In DataTables("表B").Select("第一列=" & e.Row("第十列"))
        dr("第二列") = 123
        dr("第三列") = 123
    Next
End If

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


加好友 发短信
等级:一尾狐 帖子:465 积分:3216 威望:0 精华:0 注册:2017/4/18 1:15:00
  发帖心情 Post By:2017/6/13 21:01:00 [只看该作者]

运行代码时出错


图片点击可在新窗口打开查看此主题相关图片如下:125.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:超级版主 帖子:110597 积分:562881 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/13 21:25:00 [只看该作者]

贴出你的代码,并说明列类型

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


加好友 发短信
等级:一尾狐 帖子:465 积分:3216 威望:0 精华:0 注册:2017/4/18 1:15:00
  发帖心情 Post By:2017/6/13 23:31:00 [只看该作者]

Dim cz As DataRow = DataTables("表B").Find("id='" & e.Row("id") & "'")
If cz Is Nothing Then
    MessageBox.Show("查找的数据不存在,无法添加数据","提示")
Else
    If e.Col.Name = "id" Then
        e.Cancel = True '禁止进入编辑状态
        For Each dr As DataRow In DataTables("表B").Select("id=" & e.Row("id")) '赋值所有行
            dr("id") = e.Row("id")
            dr("第二列") = e.Row("第二列")
            dr("第三列") = e.Row("第三列")
        Next
    End If
End If

 

“ID”必须是数字运行不出错,只要是其他类型都会报错,是怎么回事呢?


图片点击可在新窗口打开查看此主题相关图片如下:2222.png
图片点击可在新窗口打开查看


 双击的次数多了就会弹出下面的对话框


图片点击可在新窗口打开查看此主题相关图片如下:33333.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2017/6/13 23:42:45编辑过]

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


加好友 发短信
等级:超级版主 帖子:110597 积分:562881 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/13 23:51:00 [只看该作者]

If e.Col.Name = "id" Then
    Dim cz As DataRow = DataTables("表B").Find("id=" & e.Row("id"))
    If cz Is Nothing Then
        MessageBox.Show("查找的数据不存在,无法添加数据","提示")
    Else
        e.Cancel = True '禁止进入编辑状态
        For Each dr As DataRow In DataTables("表B").Select("id=" & e.Row("id")) '赋值所有行
            dr("id") = e.Row("id")
            dr("第二列") = e.Row("第二列")
            dr("第三列") = e.Row("第三列")
        Next
    End If
End If

如果是字符改为
DataTables("表B").Find("id='" & e.Row("id") & "'")
For Each dr As DataRow In DataTables("表B").Select("id='" & e.Row("id") & "'"

字符和数字的用法不一样的,不能一起用

 回到顶部