Foxtable(狐表)用户栏目专家坐堂 → 导入窗口中导入问题


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

主题:导入窗口中导入问题

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


加好友 发短信
等级:八尾狐 帖子:1837 积分:12984 威望:0 精华:0 注册:2013/6/10 9:23:00
导入窗口中导入问题  发帖心情 Post By:2014/3/11 17:27:00 [只看该作者]

在导入窗口中, 导入按钮的代码为:

If Tables("采购主表.采购明细表").rows.Count > 0 Then

    For Each r1 As Row In Tables("采购主表.采购明细表").GetCheckedRows
        Dim  r2 As Row = Tables("入库主表.入库明细表").AddNew
        r2("排产序列号") = r1("排产序列号")
        r2("采购单号") = r1("采购单号")
        r2("产品编号") = r1("产品编号")
        r2("数量") = r1("数量")
        r2("单价") = r1("单价")
        r2("单位") = r1("单位")
        'r2("产品编号") = r1("单位")
    Next
    e.Form.close   
Else
    MessageBox.Show("该笔订单无未下单项!")
End If

 

 

如何加入一个判断,排产序列号不能重复,如重复就提示此产品已入库,拒绝导入???

 

现在知道在表中可以加入以下代码, 但在窗口中虽然有提示, 但还是导入了, 如何不允许导入呢??

 

If e.DataCol.Name = "排产序列号" Then
    Dim dr As DataRow
    dr = e.DataTable.Find("排产序列号 = '" & e.NewValue & "'")
    If dr IsNot Nothing Then
        MessageBox.Show("此产品已入库!")
        e.Cancel = True
    End If
End If


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/11 17:30:00 [只看该作者]

你这个代码应该写到 上面的循环遍历中去.

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


加好友 发短信
等级:八尾狐 帖子:1837 积分:12984 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2014/3/11 17:33:00 [只看该作者]

那个上面, 请版主明示?如何做呢, 不会呀
[此贴子已经被作者于2014-3-11 17:33:17编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/3/11 17:35:00 [只看该作者]

楼主问题交代不清楚

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/11 17:38:00 [只看该作者]

If Tables("采购主表.采购明细表").rows.Count > 0 Then

    For Each r1 As Row In Tables("采购主表.采购明细表").GetCheckedRows

         Dim dr As DataRow 
        dr = Tables("入库主表.入库明细表").DataTable.Find("排产序列号 = '" & e.NewValue & "'")

        If dr Is Nothing Then
        Dim  r2 As Row = Tables("入库主表.入库明细表").AddNew
        r2("排产序列号") = r1("排产序列号")
        r2("采购单号") = r1("采购单号")
        r2("产品编号") = r1("产品编号")
        r2("数量") = r1("数量")
        r2("单价") = r1("单价")
        r2("单位") = r1("单位")
        'r2("产品编号") = r1("单位")

       end if
    Next
    e.Form.close    
Else
    MessageBox.Show("该笔订单无未下单项!")
End If


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


加好友 发短信
等级:八尾狐 帖子:1837 积分:12984 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2014/3/11 17:44:00 [只看该作者]

我有一个入库表, 为了防止同一产品入库多次, 做法如下:

首先,排产序列号为唯一号,把此字段设为禁止重复, 然后再入库表的DataColChanging事件里加入以下代码:

If e.DataCol.Name = "排产序列号" Then
    Dim dr As DataRow
    dr = e.DataTable.Find("排产序列号 = '" & e.NewValue & "'")
    If dr IsNot Nothing Then
        MessageBox.Show("此产品已入库!")
        e.Cancel = True
    End If
End If

虽然提示此产品已入库,但数据还是添加进去了


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/11 17:45:00 [只看该作者]

看5楼

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


加好友 发短信
等级:八尾狐 帖子:1837 积分:12984 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2014/3/11 17:52:00 [只看该作者]

版主,复制你的代码出现


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


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/11 17:56:00 [只看该作者]

改为  r1("排产序列号")

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


加好友 发短信
等级:八尾狐 帖子:1837 积分:12984 威望:0 精华:0 注册:2013/6/10 9:23:00
  发帖心情 Post By:2014/3/11 17:59:00 [只看该作者]

不懂

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