以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教如何根据筛选的列去找到对应的行的数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=98217)

--  作者:yangjing
--  发布时间:2017/3/26 16:32:00
--  请教如何根据筛选的列去找到对应的行的数据

问题描述

当单击窗口 “自选配餐”中的“刷新”按钮后如何将“早餐记录表”里面我通过日期筛选出来的记录

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:孕妇营养营养食谱.foxdb

到“营养素标准”表中根据食物名称去找到对应的行写入到临时表“营养素分析表_临时”中呢?

文件已经上传了,谢谢

[此贴子已经被作者于2017/3/26 16:35:12编辑过]

--  作者:有点色
--  发布时间:2017/3/27 0:39:00
--  
For Each dr1 As Row In Tables("早餐记录表").Rows
    Dim dr2 As DataRow = DataTables("营养素分析表_临时").AddNew()
    Dim fdr As DataRow = DataTables("营养素标准").find("食物名称 = \'" & dr1("食物名称") & "\'")
    If fdr IsNot Nothing
        For Each dc As DataCol In DataTables("营养素分析表_临时").DataCols
            If DataTables("营养素标准").DataCols.contains(dc.name)
                dr2(dc.Name) = fdr(dc.name)
            End If
        Next
    End If
Next

--  作者:yangjing
--  发布时间:2017/3/28 19:46:00
--  
谢谢,太谢谢了
--  作者:yangjing
--  发布时间:2017/3/28 21:21:00
--  
您好,我想把早餐表里里的“”重量“”一起写入到临时表里,我复制了代码,修改了下,有些问题,请问代码应该怎么修改,谢谢,我改成这样的会就会报错,说“列“能量”不属于表 早餐记录表。”

For Each dr1 As Row In Tables("早餐记录表").Rows  \'根据早餐表筛选记录到标准表去取对应记录复制到临时表
    Dim dr2 As DataRow = DataTables("营养素分析表_临时").AddNew()
    Dim fdr As DataRow = DataTables("营养素标准").find("食物名称 = \'" & dr1("食物名称") & "\'")
    If fdr IsNot Nothing
        For Each dc As DataCol In DataTables("营养素分析表_临时").DataCols
            If DataTables("营养素标准").DataCols.contains(dc.name)
                dr2(dc.Name) = fdr(dc.name)
            End If
        Next
    End If
    Dim fdrr As DataRow = DataTables("早餐记录表").find("重量 = \'" & dr1("重量") & "\'") 
    If fdrr IsNot Nothing
        For Each dc As DataCol In DataTables("营养素分析表_临时").DataCols
            If DataTables("营养素标准").DataCols.contains(dc.name)
                dr2(dc.Name) = fdrr(dc.name)
            End If
        Next
    End If

Next

--  作者:有点蓝
--  发布时间:2017/3/28 22:04:00
--  
For Each dr1 As Row In Tables("早餐记录表").Rows  \'根据早餐表筛选记录到标准表去取对应记录复制到临时表
    Dim dr2 As DataRow = DataTables("营养素分析表_临时").AddNew()
    Dim fdr As DataRow = DataTables("营养素标准").find("食物名称 = \'" & dr1("食物名称") & "\'")
    If fdr IsNot Nothing
        For Each dc As DataCol In DataTables("营养素分析表_临时").DataCols
            If DataTables("营养素标准").DataCols.contains(dc.name)
                dr2(dc.Name) = fdr(dc.name)
            End If
        Next
    End If
    
    dr2("重量") = dr1("重量")
    
Next

--  作者:yangjing
--  发布时间:2017/3/29 10:43:00
--  
万分感谢,谢谢