Foxtable(狐表)用户栏目专家坐堂 → 窗口禁止重复值录入


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

主题:窗口禁止重复值录入

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
窗口禁止重复值录入  发帖心情 Post By:2019/12/26 4:31:00 [显示全部帖子]

新增按钮代码:
Dim cpxh As String = e.Form.Controls("Dropbox1").Value
Dim dr As Row = Tables("新增产品明细_Table1").Find("产品型号 = '" & cpxh & "' And 订单号 = '" & Tables("新增产品明细_Table1").current("订单号")  & "'")
If dr IsNot Nothing Then
    MessageBox.Show("已经存在相同型号的行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel = True
End If


在同一个订单中,订单明细表中的产品型号一列不能重复录入产品型号,在窗口中我使用的是副本表。

执行上段代码错误提示: 没有可访问的find接受此数目的参数,因此重载决策失败
是不是因为find只在DataTable查找符合条件的行,副本表不可以所以出现上面的错误,应该怎么写代码?
[此贴子已经被作者于2019/12/26 4:32:05编辑过]

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2019/12/27 5:44:00 [显示全部帖子]

Dim cpxh As String = e.Form.Controls("Dropbox1").Value
Dim fdr As DataRow = DataTables("销售明细表").Find("产品型号 = '" & cpxh & "' And 订单号 = '" & Tables("销售明细表").Current("订单号")  & "'")
If fdr IsNot Nothing Then
    MessageBox.Show("已经存在相同型号的行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel = True
End if

改成上面后仍然提示错误:

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2019.12.17.18
错误所在事件:窗口,新增产品明细,Button1,Click
详细错误信息:
未将对象引用设置到对象的实例。

红色字体部分引起的问题,应该怎么改代码?

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2019/12/28 5:00:00 [显示全部帖子]

按照上面的代码改好后,不管是相同的产品型号还是不同的产品型号,点添加按钮都不新增行,也没有任何提示。


图片点击可在新窗口打开查看此主题相关图片如下:tim截图20191227224814.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2019/12/29 5:05:00 [显示全部帖子]

1、在当前的窗口新增明细表中没有的产品型号,msgbox(1)弹出1,后面再无弹出,但明细表能新增行和产品相关信息;
2、紧接着再新增明细表中没有的产品型号,msgbox(1)弹出1,msgbox(2)弹出2,msgbox(fdr is nothing)弹出TRUE,明细表也能新增行和产品相关信息;
3、接着新增明细表中有的一个产品型号,msgbox(1)弹出1,msgbox(2)弹出2,msgbox(fdr is nothing)弹出flase,弹出"已经存在相同型号的行!"对话框后,程序停止工作:
 
此主题相关图片如下:tim截图20191228213324.png
按此在新窗口浏览图片
4、如果没有步骤1,2,一开始就新增明细表中有的一个产品型号,msgbox(1)弹出1,后面再无弹出,程序停止工作和步骤3一样。



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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2019/12/30 3:04:00 [显示全部帖子]

修改为副本表并将add product 所有代码重新组合后问题解决,谢谢蓝版。

 回到顶部