Foxtable(狐表)用户栏目专家坐堂 → 如何取多条记录?


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

主题:如何取多条记录?

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


加好友 发短信
等级:五尾狐 帖子:1142 积分:7536 威望:0 精华:0 注册:2020/11/4 22:15:00
如何取多条记录?  发帖心情 Post By:2023/9/28 15:54:00 [只看该作者]

如何实现一个记录取多条记录?
如何实现表A手动“班级ID"后,从表B找到相应数据一次批量赋值到表A,  最效果如图二?




If e.DataCol.Name = "产品编号" Then
    If e.NewValue Is Nothing Then
        e.
DataRow("品名") = Nothing
        e.
DataRow("型号") = Nothing
        e.
DataRow("规格") = Nothing
        e.
DataRow("单价") = Nothing
    Else
        
Dim dr As DataRow
        dr = 
DataTables("产品").Find("[产品编号] = '" & e.NewValue & "'")
        If
 dr IsNot Nothing

            e.
DataRow("品名") = dr("品名")
            e.
DataRow("型号") = dr("型号")
            e.
DataRow("规格") = dr("规格")
            e.
DataRow("单价") = dr("单价")
        End
 
If
    
End If
End
 If

上面代码,只有录入一取一条,如何录入一条取多条相应的记录?

如果用SQL,怎么写?谢谢
[此贴子已经被作者于2023/9/28 18:15:45编辑过]

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


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

Find改为使用select,然后循环处理

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


加好友 发短信
等级:五尾狐 帖子:1142 积分:7536 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/9/28 16:28:00 [只看该作者]

If e.DataCol.Name = "产品编号" Then
Dim drs As List(Of DataRow)

    If e.NewValue Is Nothing Then
        e.
DataRow("品名") = Nothing
        e.
DataRow("型号") = Nothing
        e.
DataRow("规格") = Nothing
        e.
DataRow("单价") = Nothing
    Else
      
Dim drs As List(Of DataRow)
  Dim dr As DataRow
        dr = 
DataTables("产品").select("[产品编号] = '" & e.NewValue & "'")
For Each dr As Datarow In drs
        If
 dr IsNot Nothing

            e.
DataRow("品名") = dr("品名")
            e.
DataRow("型号") = dr("型号")
            e.
DataRow("规格") = dr("规格")
            e.
DataRow("单价") = dr("单价")
        End
 
If
 
   End If
Next
End If
是这样吗?

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


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

第2行开始要先新增行

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


加好友 发短信
等级:五尾狐 帖子:1142 积分:7536 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/9/28 16:41:00 [只看该作者]


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

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


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

drs = DataTables("产品").select("[产品编号] = '" & e.NewValue & "'")

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


加好友 发短信
等级:五尾狐 帖子:1142 积分:7536 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/9/28 16:58:00 [只看该作者]

If e.DataCol.Name = "班级ID" Then
    Tables("表AA").AddNew()
    If e.NewValue Is Nothing Then
        e.DataRow("班级") = Nothing
        e.DataRow("课程") = Nothing
    Else
        Dim drs As List(Of DataRow)
    
        drs = DataTables("表BB").select("[班级ID] = '" & e.NewValue & "'")
        
        For Each dr As DataRow In drs
            If dr IsNot Nothing Then
                e.DataRow("班级") = drs("班级")
                e.DataRow("课程") = drs("课程")
            End If
        Next
    End If
End If

报错。提示班级ID不是INT

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


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

e.DataRow("班级") = dr("班级")

drs 和 dr 到现在还看不懂代表的是什么吗?

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


加好友 发短信
等级:五尾狐 帖子:1142 积分:7536 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/9/28 17:05:00 [只看该作者]

也只有一条记录,不是批量录入

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


加好友 发短信
等级:五尾狐 帖子:1142 积分:7536 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/9/28 17:10:00 [只看该作者]

不行
[此贴子已经被作者于2023/9/28 17:59:09编辑过]

 回到顶部
总数 19 1 2 下一页