以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 怎么把这两个代码合并到一起 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=95368) |
-- 作者:jinzhengbe -- 发布时间: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 |
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间: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() 将允许在此行中创建新数据 |
-- 作者:有点色 -- 发布时间:2017/1/18 15:17:00 -- 你个name赋值的代码写在哪里?贴出你写的代码。 |
-- 作者:jinzhengbe -- 发布时间:2017/1/18 23:02:00 -- Tables("weixindanhao.weixin") 是这个表的
|
-- 作者:有点色 -- 发布时间:2017/1/18 23:56:00 -- 以下是引用jinzhengbe在2017/1/18 23:02:00的发言:
Tables("weixindanhao.weixin")
是这个表的
没看懂你的意思。做个例子上来测试吧。你逻辑肯定有问题。 |
-- 作者:jinzhengbe -- 发布时间:2017/1/19 11:40:00 -- 你们这个论坛的插件是不是要换一下 好多都不支持啊 上个程序要换好几个浏览器 添加商品的时候, 判断 是不是当前表(weixindanhao.weixin)有没有相同的name 如果有 在原先的 name行加1 如果没有 就添加新的行。 自动累加的原理
[此贴子已经被作者于2017/1/19 19:27:46编辑过]
|
-- 作者:有点色 -- 发布时间:2017/1/19 11:47:00 -- 请说明如何操作。 |
-- 作者:jinzhengbe -- 发布时间:2017/1/19 12:23:00 -- 点 下面的 加号 按钮添加行 商品名列 按空格会出现商品列表 选一个就可以 一直按回车会自动增加行 重复上面的操作既可以 |
-- 作者:有点色 -- 发布时间:2017/1/19 12:38:00 -- 那个窗口,哪个按钮? |