Foxtable(狐表)用户栏目专家坐堂 → 数据转移


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

主题:数据转移

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


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

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




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


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

应该是你这个变量没有赋值,请给其赋值。

 

vars("发货明细")

 

如果还有问题,加入msgbox定位出错位置 http://www.foxtable.com/webhelp/scr/1485.htm

 


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


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

Dim dr As DataRow = vars("发货明细").AddNew
确实这段代码有问题,但不知道如何定义或赋值

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


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

1、你在哪里给vars("发货明细")赋值的?赋值成什么?

 

2、vars("发货明细") = DataTables("某表")


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


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


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


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

以下是引用实话实说在2018/8/13 15:44:00的发言:
我在窗口的AfterLoad事件中加了如下代码,没有错误提示了,但发货明细表没有增加行获取数据
 

 

1、加入msgbox,看是否执行到了addnew代码;

 

2、执行完save之后,去你后台数据库那里看看,看是否增加数据了。


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


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

谢谢,重新加载表有数据了

 回到顶部