Foxtable(狐表)用户栏目专家坐堂 → 如何根据订单单号调取后台数据


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

主题:如何根据订单单号调取后台数据

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
如何根据订单单号调取后台数据  发帖心情 Post By: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


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/3 11:31:00 [只看该作者]

如果是数据没有加载,参考

 

http://www.foxtable.com/webhelp/scr/2724.htm

 

如果连表也没有加载,参考

 

http://www.foxtable.com/webhelp/scr/0696.htm

 


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2019/1/3 12:05:00 [只看该作者]

加载了【销售订单】表和【销售订单明细】表,【销售发货明细】没有加载,代码写在【销售订单】的DataColChanged事件中,根据订单单号取值。二楼的第2个链接中通常写在窗口的AfterLoad事件中,此时订单单号还没确定。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/3 12:06:00 [只看该作者]

写在哪里都可以啊。请认认真真看帮助文档

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2019/1/3 13:33:00 [只看该作者]

实在做不出来,现在将需求再复述一下

图片点击可在新窗口打开查看此主题相关图片如下:snap1.jpg
图片点击可在新窗口打开查看

需求:在【销售发货】表中输入订单单号后,客户发货金额从【销售订单】表取值(客户,金额合计)同时,【销售发货明细】表自动添加记录,根据订单单号从【销售订单明细】表取值(产品代码,颜色,单位,数量,单价,金额)
【销售订单】表和【销售订单明细】表没有加载
请老师帮忙写一下【销售发货】表的DataColChanged事件

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/3 15:09:00 [只看该作者]


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By: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

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/3 16:16:00 [只看该作者]

cmd.CommandText = "SELECT * Fro m {销售订单明细} Where 订单单号 = e.DataRow("订单单号") "

 

改成

 

cmd.CommandText = "SELECT * Fro m {销售订单明细} Where 订单单号 = '" & e.DataRow("订单单号") & "'"


 回到顶部