Foxtable(狐表)用户栏目专家坐堂 → 多条件find返回错误?


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

主题:多条件find返回错误?

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


加好友 发短信
等级:二尾狐 帖子:527 积分:5179 威望:0 精华:0 注册:2017/9/1 23:28:00
多条件find返回错误?  发帖心情 Post By:2022/4/18 16:13:00 [只看该作者]

Dim x As String = e.Form.Controls("combobox1").text
Dim y As String = e.Form.Controls("combobox2").text
Dim z As String = e.Form.Controls("combobox3").text
Dim a As String = e.Form.Controls("textbox1").text
Dim d As DataRow = DataTables("hqhz").Find("bh = '"& x &"' and lx = '"& y &"' and zy = '"& z &"'")
If d IsNot Nothing Then
msgbox("已存在相同区域,无法添加")
Return
Else
Tables("hqhz").addnew
Tables("hqhz").Current("bh") = e.Form.Controls("combobox1").text
Tables("hqhz").Current("lx") = e.Form.Controls("combobox2").text
Tables("hqhz").Current("zy") = e.Form.Controls("combobox3").text
Tables("hqhz").Current("qc") = e.Form.Controls("textbox1").text
Tables("hqhz").save
DataTables("hqhz").load
msgbox("添加完成")
End If

这段代码,无论怎么搞都是返回"已存在相同区域,无法添加",但是我非常确定xyz的值是唯一的,并且后台的数据表实际上是有添加记录,但是处于未保存状态。
之前find也用过很多次了,单条件下没用碰到过这样的问题。难道是find不能使用多条件?

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


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

find用法没有任何问题。肯定有重复的数据。find是查询前台界面数据的,和后台数据库没有什么关系,和保存不保存也没有什么关系。

combobox1这些控件是不是绑定了列?

新增行赋值的用法反而是不正确的,应该这样用

dim r as row = Tables("hqhz").addnew
r("bh") = e.Form.Controls("combobox1").text

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


加好友 发短信
等级:二尾狐 帖子:527 积分:5179 威望:0 精华:0 注册:2017/9/1 23:28:00
  发帖心情 Post By:2022/4/18 22:25:00 [只看该作者]

谢谢蓝老师!果然是绑定列了!图片点击可在新窗口打开查看太不应该了.........

 回到顶部