Foxtable(狐表)用户栏目专家坐堂 → 批量录入


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

主题:批量录入

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19396 威望:0 精华:1 注册:2008/9/12 9:19:00
批量录入  发帖心情 Post By:2021/4/25 17:42:00 [只看该作者]

下面代码是批量录入发货明细,通过下拉订单单号录入订单数据。为了与注表对应,有必要加个判断,即订单单号的后面数字等于发货单号的后面数字时(比如XS190308=FA190308)才允许批量录入。如何加这个判断?

Dim drs As List(Of DataRow) = DataTables("销售订单明细").Select ("订单单号 = " & "'" & e.form.controls("combobox1").text & "'" )
If Tables("销售发货.销售发货明细").AllowEdit = True Then

For Each dr As DataRow In drs
    Dim ndr As Row = Tables("销售发货.销售发货明细").addnew
    ndr("订单单号")= dr("订单单号")
    ndr("产品代码")= dr("产品代码")
    ndr("客户代码")= dr("客户代码")
    ndr("颜色")= dr("颜色")
    ndr("单位")= dr("单位")
    ndr("单价")= dr("单价")
    ndr("订单数量")= dr("订单数量")
    ndr("发货数量")= dr("订单数量")
    'ndr("包装")= dr("包装")
    ndr("备注")= dr("备注")
Next

Else
    e.Cancel = True '取消动作
End If

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


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111412 积分:567130 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/25 20:09:00 [只看该作者]

Dim drs As List(Of DataRow) = DataTables("销售订单明细").Select ("substring(订单单号,3,7) = '" & e.form.controls("combobox1").text.substring(2) & "'" )

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


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

不是上面的意思,大概是下面红色代码的意思,但代码错误。

Dim drs As List(Of DataRow) = DataTables("销售订单明细").Select("订单单号 = " & "'" & e.form.controls("combobox1").text & "'" )
If Tables("销售发货.销售发货明细").AllowEdit = True Then

For Each dr As DataRow In drs
    If e.DataRow("substring(订单单号,3,7") <> e.DataRow("substring(发货单号,3,7") 
        MessageBox.Show("订单单号不对!", "提示")
        Return
    Else
    Dim ndr As Row = Tables("销售发货.销售发货明细").addnew
    ndr("订单单号")= dr("订单单号")
    ndr("产品代码")= dr("产品代码")
    ndr("客户代码")= dr("客户代码")
    ndr("颜色")= dr("颜色")
    ndr("单位")= dr("单位")
    ndr("单价")= dr("单价")
    ndr("订单数量")= dr("订单数量")
    ndr("发货数量")= dr("订单数量")
    'ndr("包装")= dr("包装")
    ndr("备注")= dr("备注")
    End If
Next

Else
    e.Cancel = True '取消动作
End If

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111412 积分:567130 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/26 9:21:00 [只看该作者]

If tables("xx表").current("订单单号").substring(2) <> tables("xx表").current("发货单号").substring(2)

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


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

以下时满足1楼要求的代码。现在还有个需求,就是不能重复录入,即发货单号、产品代码、颜色不能同时重复。貌似代码2
代码1
Dim drs As List(Of DataRow) = DataTables("销售订单明细").Select("订单单号 = " & "'" & e.form.controls("combobox1").text & "'" )
If Tables("销售发货.销售发货明细").AllowEdit = True Then

For Each dr As DataRow In drs
    If Tables("销售发货.销售发货明细").current("订单单号").substring(2) <> Tables("销售发货.销售发货明细").current("发货单号").substring(2)
        Tables("销售发货.销售发货明细").Current.Delete
        MessageBox.Show("订单单号不对!", "提示")
        Return
    Else
        Dim ndr As Row = Tables("销售发货.销售发货明细").addnew 
        ndr("订单单号")= dr("订单单号")
        ndr("产品代码")= dr("产品代码")
        ndr("客户代码")= dr("客户代码")
        ndr("颜色")= dr("颜色")
        ndr("单位")= dr("单位")
        ndr("单价")= dr("单价")
        ndr("订单数量")= dr("订单数量")
        ndr("发货数量")= dr("订单数量")
        ndr("备注")= dr("备注")
    End If
Next

Else
    e.Cancel = True '取消动作
End If

代码2
'控制多列不重复
Dim fh As String
Dim cp As String
Dim ys As String
Dim dr As DataRow = e.DataRow
    If Tables("销售发货.销售发货明细").Find("发货单号 = '" & fh & "' And 产品代码 = '" & cp & "'And 颜色 = '" & ys & "'") IsNot Nothing Then
        MessageBox.Show("不要重复录入!","提示")
        'e.Cancel = True
        Return
    End If


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111412 积分:567130 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/22 14:27:00 [只看该作者]

……
For Each dr As DataRow In drs
If dataTables("销售发货明细").Find("发货单号 = '" & dr("发货单号") & "' And 产品代码 = '" & dr("产品代码 ") & "'And 颜色 = '" & dr("颜色") & "'") IsNot Nothing Then
        MessageBox.Show("不要重复录入!","提示")
        Return
    End If
    If Tables("销售发货.销售发货明细").current("订单单号").substring(2) <> Tables("销售发货.销售发货明细").current("发货单号").substring(2)
……

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


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


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

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111412 积分:567130 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/6/22 14:49:00 [只看该作者]

提示很明显了,写了这么久代码了,还是只会抄,一点判断都没有么,自己改为合适的列名

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


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

我再看看
[此贴子已经被作者于2021/6/22 15:14:21编辑过]

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


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

销售订单明细中是没有发货单号,好像不是这个问题,将发货单号该为订单单号,又提示产品代码不属于销售订单明细表。代码附上

Dim drs As List(Of DataRow) = DataTables("销售订单明细").Select("订单单号 = " & "'" & e.form.controls("combobox1").text & "'" )
If Tables("销售发货.销售发货明细").AllowEdit = True Then

For Each dr As DataRow In drs
    'If DataTables("销售发货明细").Find("发货单号 = '" & dr("发货单号") & "' And 产品代码 = '" & dr("产品代码 ") & "'And 颜色 = '" & dr("颜色") & "'") IsNot Nothing Then
    If DataTables("销售发货明细").Find("订单单号 = '" & dr("订单单号") & "' And 产品代码 = '" & dr("产品代码 ") & "'And 颜色 = '" & dr("颜色") & "'") IsNot Nothing Then
        MessageBox.Show("不要重复录入!","提示")
        Return
    End If

    If Tables("销售发货.销售发货明细").current("订单单号").substring(2) <> Tables("销售发货.销售发货明细").current("发货单号").substring(2)
        Tables("销售发货.销售发货明细").Current.Delete
        MessageBox.Show("订单单号不对!", "提示")
        Return
    Else
        Dim ndr As Row = Tables("销售发货.销售发货明细").addnew 
        ndr("订单单号")= dr("订单单号")
        ndr("产品代码")= dr("产品代码")
        ndr("客户代码")= dr("客户代码")
        ndr("颜色")= dr("颜色")
        ndr("单位")= dr("单位")
        ndr("单价")= dr("单价")
        ndr("订单数量")= dr("订单数量")
        ndr("发货数量")= dr("订单数量")
        ndr("备注")= dr("备注")
    End If
Next

Else
    e.Cancel = True '取消动作
End If

 回到顶部
总数 16 1 2 下一页