Foxtable(狐表)用户栏目专家坐堂 → [求助] DataRows.Clear()怎么没有清除窗口中QueryTable型表控件的内容。


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

主题:[求助] DataRows.Clear()怎么没有清除窗口中QueryTable型表控件的内容。

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


加好友 发短信
等级:幼狐 帖子:146 积分:1243 威望:0 精华:0 注册:2015/8/7 16:22:00
[求助] DataRows.Clear()怎么没有清除窗口中QueryTable型表控件的内容。  发帖心情 Post By:2015/10/21 21:01:00 [只看该作者]

文本框1的TextChanged事件代码为:

Dim txt_Name As String = e.Form.Controls("文本框1").Text 

If txt_Name = ""
   messagebox.show("为空")  '测试效果用
   DataTables("TestForm_Table1").DataRows.Clear()
   Return
End If

Tables("TestForm_Table1").Fill("S elect * From {入库明细} where 物料名称 = '" & txt_Name & "'" , True)


执行结果:当我在 文本框1 中输入内容查询后,再用Backspace键删除 文本框1 中的内容直至为空,
              但是刚才查询到的内容在 TestForm_Table1 表中没有被清空。
[此贴子已经被作者于2015/10/21 21:01:57编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/21 21:05:00 [只看该作者]

msgbox有没有弹出

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


加好友 发短信
等级:幼狐 帖子:146 积分:1243 威望:0 精华:0 注册:2015/8/7 16:22:00
  发帖心情 Post By:2015/10/21 21:06:00 [只看该作者]

Messagebox 有弹出

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/21 21:13:00 [只看该作者]

那不可能,代码没问题

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


加好友 发短信
等级:幼狐 帖子:146 积分:1243 威望:0 精华:0 注册:2015/8/7 16:22:00
  发帖心情 Post By:2015/10/21 21:27:00 [只看该作者]

测试了 好几遍,都是这样的。当我清除文本框1中的内容时,刚才查询到的数据仍然在TestForm_Table1 表中。并没有被清空。

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


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/21 21:29:00 [只看该作者]

肯定有其他事件代码影响了,看看这个控件其它事件

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


加好友 发短信
等级:幼狐 帖子:146 积分:1243 威望:0 精华:0 注册:2015/8/7 16:22:00
  发帖心情 Post By:2015/10/21 22:04:00 [只看该作者]

就拿这句代码,测试了别的数据表,结果不是清空了单元格中的内容,而是相当于 删除行 。??求解

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/21 22:06:00 [只看该作者]

这句代码就是删除行。清空单元格没有意义。

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


加好友 发短信
等级:幼狐 帖子:146 积分:1243 威望:0 精华:0 注册:2015/8/7 16:22:00
  发帖心情 Post By:2015/10/21 23:10:00 [只看该作者]

把刚才的代码改成下面这样,可以执行达到效果。 为什么红色代码不行,别的地方都没有动过。

If txt_Name = ""
   'DataTables("TestForm_Table1").DataRows.Clear() '为什么没有清除表中的数据呢
   Dim j As Integer = Tables("TestForm_Table1").Rows.Count
   For i As Integer  = 0 To j-1 
         DataTables("TestForm_Table1").DataRows(0).Delete()
   Next
   Return
End If
[此贴子已经被作者于2015/10/22 8:20:27编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/22 9:19:00 [只看该作者]

不应该有问题,那你试试

 

DataTables("TestForm_Table1").DeleteFor("")


 回到顶部