以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何根据订单单号调取后台数据 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=129649) |
-- 作者:实话实说 -- 发布时间:2019/1/3 10:59:00 -- 如何根据订单单号调取后台数据 以下是【销售发货明细】表已经加载后从【销售发货明细】表中取值到【销售订单明细】表。如果【销售发货明细】表没有加载,【销售订单明细】表如何从【销售发货明细】表取值 If e.DataCol.Name = "订单单号" Then \'产品ID发生改变 Dim dt As DataRow dt = DataTables("销售订单").Find("订单单号 = " & "\'" & e.DataRow("订单单号") & "\'" ) \'在产品表找出该产品 If dt IsNot Nothing \'如果找到, 则设置各列内容 e.DataRow("客户简称")= dt("客户简称") e.DataRow("订单金额")= dt("订单金额") e.DataRow("客户简称")= dt("客户简称") End If 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 = DataTables("销售发货明细").AddNew For i As Integer = 0 To nma.Length - 1 dr(nmb(i)) = tr(nma(i)) Next End If Next End If |
-- 作者:有点甜 -- 发布时间:2019/1/3 11:31:00 -- 如果是数据没有加载,参考
http://www.foxtable.com/webhelp/scr/2724.htm
如果连表也没有加载,参考
http://www.foxtable.com/webhelp/scr/0696.htm
|
-- 作者:实话实说 -- 发布时间:2019/1/3 12:05:00 -- 加载了【销售订单】表和【销售订单明细】表,【销售发货明细】没有加载,代码写在【销售订单】的DataColChanged事件中,根据订单单号取值。二楼的第2个链接中通常写在窗口的AfterLoad事件中,此时订单单号还没确定。
|
-- 作者:有点甜 -- 发布时间:2019/1/3 12:06:00 -- 写在哪里都可以啊。请认认真真看帮助文档 |
-- 作者:实话实说 -- 发布时间:2019/1/3 13:33:00 -- 实在做不出来,现在将需求再复述一下 请老师帮忙写一下【销售发货】表的DataColChanged事件
|
-- 作者:有点甜 -- 发布时间:2019/1/3 15:09:00 -- 没有加载表,必须自行合成sql语句
http://www.foxtable.com/webhelp/scr/0696.htm
http://www.foxtable.com/webhelp/scr/3266.htm
|
-- 作者:实话实说 -- 发布时间:2019/1/3 15:43:00 -- 类似下面的代码有问题 If e.DataCol.Name = "订单单号" Then Dim cmd As New SQLCommand Dim dt As DataTable cmd.C Dim Cols1() As String = {"客户","产品代码","数量"} Dim Cols2() As String = {"客户","产品代码","数量"} cmd.CommandText = "SELECT * Fro m {销售订单明细} Where 订单单号 = e.DataRow("订单单号") " dt = cmd.ExecuteReader() For Each dr1 As DataRow In dt.DataRows Dim dr2 As DataRow = DataTables("销售发货明细").AddNew() For i As Integer = 0 To Cols1.Length -1 dr2(Cols2(i)) = dr1(Cols1(i)) Next Next End If
|
-- 作者:有点甜 -- 发布时间:2019/1/3 16:16:00 -- cmd.CommandText = "SELECT * Fro m {销售订单明细} Where 订单单号 = e.DataRow("订单单号") "
改成
cmd.CommandText = "SELECT * Fro m {销售订单明细} Where 订单单号 = \'" & e.DataRow("订单单号") & "\'" |