Foxtable(狐表)用户栏目专家坐堂 → 同时提取多行信息赋值


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

主题:同时提取多行信息赋值

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


加好友 发短信
等级:婴狐 帖子:58 积分:713 威望:0 精华:0 注册:2015/5/11 20:47:00
同时提取多行信息赋值  发帖心情 Post By:2017/6/28 8:35:00 [只看该作者]

你好!
目的把需要产品的检验标准提取到检验报告里(AA产品是提取后的状态),帮我修改下代码

Dim r As WinForm.TextBox = e.Form.Controls("TextBox4")
Dim ct As Integer = DataTables("检验标准").SQLCompute("Count(产品名称)","产品名称 = '" & r.text & "'")
Dim dr As DataRow = DataTables("检验标准").SQLFind("产品名称","产品名称= '" & r.text & "'")
Tables("检验报告").addnew(ct)
Dim dr2 As DataRow = DataTables("检验报告").AddNew
If dr IsNot Nothing Then        
    dr2("检验项目") = dr("检验项目")
    dr2("技术要求") = dr("技术要求")
    dr2("标准上限") = dr("控制上限")
    dr2("标准下限") = dr("控制下限")
    dr2("检验方法") = dr("检验方法")
End If

检验标准
产品名称 检验项目 技术要求 控制上限 控制下限 检验方法
AA 外观 AA1 6 2 AAA1
AA 尺寸 AA2 10 5 AAA2
BB 外观 BB1 35 30 BBB1
BB 尺寸 BB2 50 45 BBB2
检验报告
产品名称 检验项目 技术要求 标准上限 标准下限 检验方法 样本01 样本02
AA 外观 AA1 6 2 AAA1    
AA 尺寸 AA2 10 5 AAA2    


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


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

Dim r As WinForm.TextBox = e.Form.Controls("TextBox4")
For Each dr As DataRow In DataTables("检验标准").Select("产品名称= '" & r.text & "'")
    Dim dr2 As DataRow = DataTables("检验报告").AddNew    

    dr2("产品名称") = dr("产品名称")
    dr2("检验项目") = dr("检验项目")
    dr2("技术要求") = dr("技术要求")
    dr2("标准上限") = dr("控制上限")
    dr2("标准下限") = dr("控制下限")
    dr2("检验方法") = dr("检验方法")
Next

[此贴子已经被作者于2017/6/28 11:45:28编辑过]

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


加好友 发短信
等级:婴狐 帖子:58 积分:713 威望:0 精华:0 注册:2015/5/11 20:47:00
  发帖心情 Post By:2017/6/28 10:35:00 [只看该作者]

你好!
报错

.NET Framework 版本:2.0.50727.8669
Foxtable 版本:2017.6.12.1
错误所在事件:窗口,来料检验报告,Button1,Click
详细错误信息:
无法找到列 产品名称= 'AA'。


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


加好友 发短信
等级:婴狐 帖子:58 积分:713 威望:0 精华:0 注册:2015/5/11 20:47:00
  发帖心情 Post By:2017/6/28 10:48:00 [只看该作者]

你好!
我已改好了,谢谢

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


加好友 发短信
等级:六尾狐 帖子:1249 积分:9480 威望:0 精华:0 注册:2013/5/12 9:22:00
  发帖心情 Post By:2017/6/28 10:49:00 [只看该作者]

Dim r As WinForm.TextBox = e.Form.Controls("TextBox4")
For Each dr As DataRow In DataTables("检验标准").Select("产品名称= '" & r.text & "'")
    Dim dr2 As DataRow = DataTables("检验报告").AddNew    
    dr2("产品名称") = dr("产品名称")
    dr2("检验项目") = dr("检验项目")
    dr2("技术要求") = dr("技术要求")
    dr2("标准上限") = dr("控制上限")
    dr2("标准下限") = dr("控制下限")
    dr2("检验方法") = dr("检验方法")
Next
[此贴子已经被作者于2017/6/28 10:49:10编辑过]

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


加好友 发短信
等级:婴狐 帖子:58 积分:713 威望:0 精华:0 注册:2015/5/11 20:47:00
  发帖心情 Post By:2017/6/30 21:34:00 [只看该作者]

你好!
在表A明细中检测样本(检测样本多个)有多项检测项目,同一个样本只要任何一项检测项目的判定结果为不合格,则该产品为不合格,怎么统计不合格数量
Select Case e.DataCol.name
    Case "不良总数","送检单号","物料名称"
        Dim ybs As List(Of String) = DataTables("表A明细").SQLGetValues("样本编号","物料名称 is not null and 送检单号 is not null and 物料名称='" & e.DataRow("物料名称") & "' and 送检单号='" & e.DataRow("送检单号") & "'")
        For i As Integer = 0 To ybs.Count - 1
            Dim sl As Integer = DataTables("表A明细").SQLCompute("Count(判定结果)","样本编号='" & ybs(i) & "' And 判定结果='不合格' and 判定结果 is not null")
            
            e.DataRow("不良总数")=
        Next
End Select


表A主表
物料名称 送检单号 不良总数
    2
表A明细
检验项目 标准上限 标准下限 样本编号 实测参数 判定结果 物料名称 送检单号
A1 10 3 01 5 合格    
A2 6 1 01 7 不合格    
A1 10 3 02 2 不合格    
A2 6 1 02 7 不合格    

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


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

Select Case e.DataCol.name
    Case "送检单号","物料名称"
        Dim ybs As List(Of String()) = DataTables("表A明细").SQLGetValues("样本编号|判定结果","物料名称='" & e.DataRow("物料名称") & "' and 送检单号='" & e.DataRow("送检单号") & "' And 判定结果='不合格' ")
        e.DataRow("不良总数")=ybs.Count
End Select

 回到顶部