Foxtable(狐表)用户栏目专家坐堂 → 怎么把这两个代码合并到一起


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

主题:怎么把这两个代码合并到一起

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


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
怎么把这两个代码合并到一起  发帖心情 Post By:2017/1/17 20:43:00 [只看该作者]

我的思路是

name行发生变化后

1 判断 输入的name是有内容在  proudct
   有 。。。。
   没有 提示添加商品
2 判断 输入的name是否在 (weixindanhao.wexin)表 有相同的name
   if 有  就不添加新的行(或者添加后 删除)
      然后在原先的 行的shuliang 加1
   if 没有  就添加新的行

脑子不好用,请各位大神指点



If e.DataCol.Name="name"
      Dim dr As DataRow = DataTables("product").Find("[shangpinming] = '" & e.NewValue & "'")
        If dr IsNot Nothing Then
                e.DataRow("cord") = dr("cord")
                e.DataRow("markprice") = dr("markprice")
                e.DataRow("price") = dr("sellprice")
                e.DataRow("kg") = dr("kg")
                        e.DataRow("name") = dr("shangpinming")
      Else
             If dr Is Nothing Then
                     messagebox.show("没有此商品 请在入库单先入库")
       forms("商品").open ' e.Cancel=True
      End If
      End If
 End If
If e.DataCol.name="name" Then
Dim r As Row = Tables("weixindanhao.weixin").Current
Dim idx As Integer = Tables("weixindanhao.weixin").FindRow("name = '" & r("name") & "' and [_Identify] <> " & r("_Identify"))
If idx >= 0 Then
    msgbox("已存在")
    Tables("weixindanhao.weixin").Rows(idx)("shuliang") += 1
    r.delete
End If
End If

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


加好友 发短信
等级:超级版主 帖子:106316 积分:540715 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/1/17 21:03:00 [只看该作者]


If e.DataCol.name="name" Then
    Dim dr As DataRow = Tables("weixindanhao.weixin").DataTable.Find("name = '" & e.NewValue & "'")
    If dr IsNot Nothing Then
        msgbox("已存在")
        dr("shuliang") += 1
        r.delete
    Else
        dr = DataTables("product").Find("[shangpinming] = '" & e.NewValue & "'")
        If dr IsNot Nothing Then
            e.DataRow("cord") = dr("cord")
            e.DataRow("markprice") = dr("markprice")
            e.DataRow("price") = dr("sellprice")
            e.DataRow("kg") = dr("kg")
            e.DataRow("name") = dr("shangpinming")
        Else
            messagebox.show("没有此商品 请在入库单先入库")
            forms("商品").open 
        End If
    End If
End If

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


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
  发帖心情 Post By:2017/1/18 15:14:00 [只看该作者]

If e.DataCol.name="name" Then
  Dim dr As DataRow = Tables("weixindanhao.weixin").DataTable.Find("name = '" & e.NewValue & "'")
  Dim r As Row = Tables("weixindanhao.weixin").Current
  Dim idx As Integer = Tables("weixindanhao.weixin").FindRow("name = '" & r("name") & "' and [_Identify] <> " & r("_Identify"))
   If idx >= 0  And  dr IsNot Nothing Then
 '   Tables("weixindanhao.weixin").Rows(idx)("shuliang") += 1
      msgbox("已存在")
    dr("shuliang") += 1
    r.delete
  Else
    dr = DataTables("product").Find("[shangpinming] = '" & e.NewValue & "'")
    If dr IsNot Nothing Then
      e.DataRow("cord") = dr("cord")
      e.DataRow("markprice") = dr("markprice")
      e.DataRow("price") = dr("sellprice")
      e.DataRow("kg") = dr("kg")
      e.DataRow("name") = dr("shangpinming")
    Else
      messagebox.show("没有此商品 请在入库单先入库")
      forms("商品").open
    End If
  End If
End If

我想要的是这个效果  
但是报错

.NET Framework 版本:2.0.50727.8745
Foxtable 版本:2015.12.22.1
错误所在事件:表,weixin,DataColChanged
详细错误信息:
调用的目标发生了异常。
此行已从表中移除并且没有任何数据。BeginEdit() 将允许在此行中创建新数据


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/18 15:17:00 [只看该作者]

你个name赋值的代码写在哪里?贴出你写的代码。


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


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
  发帖心情 Post By:2017/1/18 23:02:00 [只看该作者]

Tables("weixindanhao.weixin")

是这个表的

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/18 23:56:00 [只看该作者]

以下是引用jinzhengbe在2017/1/18 23:02:00的发言:
Tables("weixindanhao.weixin")

是这个表的

 

没看懂你的意思。做个例子上来测试吧。你逻辑肯定有问题。


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


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
  发帖心情 Post By:2017/1/19 11:40:00 [只看该作者]


你们这个论坛的插件是不是要换一下
好多都不支持啊
上个程序要换好几个浏览器


添加商品的时候,
判断 是不是当前表(weixindanhao.weixin)有没有相同的name

如果有  在原先的 name行加1

如果没有 就添加新的行。

自动累加的原理
[此贴子已经被作者于2017/1/19 19:27:46编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/19 11:47:00 [只看该作者]

请说明如何操作。

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


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
  发帖心情 Post By:2017/1/19 12:23:00 [只看该作者]

点 下面的 加号 按钮添加行

商品名列 按空格会出现商品列表

选一个就可以

一直按回车会自动增加行

重复上面的操作既可以


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/19 12:38:00 [只看该作者]

那个窗口,哪个按钮?

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