以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 数据转移 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=123370) |
-- 作者:实话实说 -- 发布时间:2018/8/13 13:55:00 -- 数据转移 我想在销售发货表中输入订单单号后将销售订单明细中的相关数据传递到发货明细表中,以下代码错在哪? 销售发货表的DataColChanged事件 \'传递订单数据 If e.DataCol.Name = "订单单号" Then If e.DataRow.IsNull("订单单号") = False Then Dim trs As List(Of DataRow) = DataTables("销售订单明细").Select("订单单号 =\'" & e.DataRow("订单单号") & "\'") For Each tr As DataRow In trs If tr IsNot Nothing Then Dim nma() As String = {"订单单号","客户代码","客户简称","产品代码","产品分类","产品型号","产品规格","产品","颜色","单位","订单数量","含税单价","价税金额"} \'销售订单明细表数据来源列 Dim nmb() As String = {"订单单号","客户代码","客户简称","产品代码","产品分类","产品型号","产品规格","产品","颜色","单位","数量","单价","金额"} \'发货明细表数据接收列 Dim dr As DataRow = vars("发货明细").AddNew For i As Integer = 0 To nma.Length - 1 dr(nmb(i)) = tr(nma(i)) Next dr.save End If Next Else If e.DataRow.IsNull("订单单号") Then vars("发货明细").sqlDeleteFor("订单单号 = \'" & e.DataRow("订单单号")& "\'") End If End If End If |
-- 作者:有点甜 -- 发布时间:2018/8/13 14:40:00 -- 应该是你这个变量没有赋值,请给其赋值。
vars("发货明细")
如果还有问题,加入msgbox定位出错位置 http://www.foxtable.com/webhelp/scr/1485.htm
|
-- 作者:实话实说 -- 发布时间:2018/8/13 15:22:00 -- Dim dr As DataRow = vars("发货明细").AddNew 确实这段代码有问题,但不知道如何定义或赋值
|
-- 作者:有点甜 -- 发布时间:2018/8/13 15:38:00 -- 1、你在哪里给vars("发货明细")赋值的?赋值成什么?
2、vars("发货明细") = DataTables("某表") |
-- 作者:实话实说 -- 发布时间:2018/8/13 15:44:00 -- 我在窗口的AfterLoad事件中加了如下代码,没有错误提示了,但发货明细表没有增加行获取数据 Dim cmd As New SQLCommand Dim dt As DataTable cmd.C cmd.CommandText = "SELEC T * From {发货明细} where 1=2" dt = cmd.ExecuteReader(True) vars("发货明细") = dt |
-- 作者:有点甜 -- 发布时间:2018/8/13 16:35:00 -- 以下是引用实话实说在2018/8/13 15:44:00的发言:
我在窗口的AfterLoad事件中加了如下代码,没有错误提示了,但发货明细表没有增加行获取数据
1、加入msgbox,看是否执行到了addnew代码;
2、执行完save之后,去你后台数据库那里看看,看是否增加数据了。 |
-- 作者:实话实说 -- 发布时间:2018/8/13 17:52:00 -- 谢谢,重新加载表有数据了 |