以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] DataRows.Clear()怎么没有清除窗口中QueryTable型表控件的内容。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=76110)

--  作者:15986720145
--  发布时间:2015/10/21 21:01:00
--  [求助] DataRows.Clear()怎么没有清除窗口中QueryTable型表控件的内容。
文本框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编辑过]

--  作者:大红袍
--  发布时间:2015/10/21 21:05:00
--  
msgbox有没有弹出
--  作者:15986720145
--  发布时间:2015/10/21 21:06:00
--  
Messagebox 有弹出
--  作者:大红袍
--  发布时间:2015/10/21 21:13:00
--  
那不可能,代码没问题
--  作者:15986720145
--  发布时间:2015/10/21 21:27:00
--  
测试了 好几遍,都是这样的。当我清除文本框1中的内容时,刚才查询到的数据仍然在TestForm_Table1 表中。并没有被清空。

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


--  作者:大红袍
--  发布时间:2015/10/21 21:29:00
--  
肯定有其他事件代码影响了,看看这个控件其它事件
--  作者:15986720145
--  发布时间:2015/10/21 22:04:00
--  
就拿这句代码,测试了别的数据表,结果不是清空了单元格中的内容,而是相当于 删除行 。??求解
--  作者:大红袍
--  发布时间:2015/10/21 22:06:00
--  
这句代码就是删除行。清空单元格没有意义。
--  作者:15986720145
--  发布时间: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编辑过]

--  作者:大红袍
--  发布时间:2015/10/22 9:19:00
--  

不应该有问题,那你试试

 

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