以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]从不关联表取值到另一个表 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=93043) |
-- 作者:tswxdts -- 发布时间:2016/11/18 21:07:00 -- [求助]从不关联表取值到另一个表 老师们!今天练习写了个代码:不是关联表,从一个表取值到另一个表,但是怎么也出不来。附止代码,请老师们给看看,问题出在那里。 1、有两列要进行判断,编号和商品代码。如果两个都没有,全部增加行取值。如果编号有了,但是商品代码没有,也新增加行取值,只是 编号和上面的一样,商品代码不一样。 Select Case e.DataCol.name Case "入库编号","商品代码" Dim dr As DataRow = DataTables("教材库存").Find("编号 = \'" & e.OldValue & "\'" AndAlso "商品代码 = \'"& e.OldValue & "\'") If dr Is Nothing Then dr = DataTables("教材库存").AddNew() dr("编号") = e.DataRow ("入库编号") dr("商品代码") = e.DataRow("商品代码") dr("商品类别") = e.DataRow("商品类别") dr("商品名称") = e.DataRow("商品名称") dr("规格") = e.DataRow("规格") dr("单位") = e.DataRow("单位") dr("单价") = e.DataRow("单价") dr("入库数量") = e.DataRow("数量") Else dr("编号") = e.DataRow ("入库编号") dr("商品代码") = e.DataRow("商品代码") dr("商品类别") = e.DataRow("商品类别") dr("商品名称") = e.DataRow("商品名称") dr("规格") = e.DataRow("规格") dr("单位") = e.DataRow("单位") dr("单价") = e.DataRow("单价") dr("入库数量") = e.DataRow("数量") End If Case "商品代码","商品名称","商品类别","规格","单位","单价","数量" Dim dr As DataRow = DataTables("教材库存").Find("编号 = \'" & e.DataRow("入库编号") & "\'") If dr IsNot Nothing Then dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name) End If End Select |
-- 作者:有点蓝 -- 发布时间:2016/11/19 8:53:00 -- Select Case e.DataCol.name Case "入库编号" If e.DataRow.Isnull("入库编号") = False Dim dr As DataRow = DataTables("教材库存").Find("编号 = \'" & e.DataRow("入库编号") & "\'" AndAlso "商品代码 = \'" & e.DataRow("商品代码 ") & "\'") If dr Is Nothing Then dr = DataTables("教材库存").AddNew() dr("编号") = e.DataRow ("入库编号") dr("商品代码") = e.DataRow("商品代码") End If dr("商品类别") = e.DataRow("商品类别") dr("商品名称") = e.DataRow("商品名称") dr("规格") = e.DataRow("规格") dr("单位") = e.DataRow("单位") dr("单价") = e.DataRow("单价") dr("入库数量") = e.DataRow("数量") End If Case "商品代码","商品名称","商品类别","规格","单位","单价","数量" Dim dr As DataRow = DataTables("教材库存").Find("编号 = \'" & e.DataRow("入库编号") & "\'") If dr IsNot Nothing Then dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name) End If End Select
|
-- 作者:tswxdts -- 发布时间:2016/11/19 9:54:00 -- 有点蓝老师! 我上传了附件,你给看一下,就是在入库单里,同一个入库编号下有多行记录,怎么能把这些记录全部赋值到教材库存表里?
现在是只能把一个编号里的一行给赋值过去,另一行就不显示了! [此贴子已经被作者于2016/11/19 9:55:13编辑过]
|
-- 作者:有点蓝 -- 发布时间:2016/11/19 10:01:00 -- 重置列:http://www.foxtable.com/webhelp/scr/1469.htm 重置编号列
|
-- 作者:tswxdts -- 发布时间:2016/11/19 11:56:00 -- 重置提示: NET Framework 版本:2.0.50727.5485 Foxtable 版本:2016.7.29.1 错误所在事件:表,入库单, DataColChanged 详细错误信息: 调用的目标发生了异常。 从字符串“编号 = \'rk001\'”到类型“Boolean”的转换无效。 输入字符串的格式不正确。 我设置的入库编号格式:rk001开始 商品代码的格式:YY10001开始 这样设置没问题吧?
[此贴子已经被作者于2016/11/19 11:57:15编辑过]
|
-- 作者:有点蓝 -- 发布时间:2016/11/19 11:58:00 -- Dim dr As DataRow = DataTables("教材库存").Find("编号 = \'" & e.DataRow("入库编号") & "\' And 商品代码 = \'" & e.DataRow("商品代码 ") & "\'") |
-- 作者:tswxdts -- 发布时间:2016/11/19 11:59:00 -- 怎么上传附件提示成功了,但是不显示了?? |
-- 作者:tswxdts -- 发布时间:2016/11/19 12:10:00 -- 谢谢有点蓝老师,测试通过了,自己在消化理解一下! |