以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]查询问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=103872) |
-- 作者:积水成渊 -- 发布时间:2017/7/18 23:04:00 -- [求助]查询问题 想弄个全表查找的窗口,求助好久,发现还是没有搞定,求老师帮忙改改代码,下面的代码已经可以实现全表查找内容的替换,而我要实现的功能是不要替换,只要定位查找内容的位置就可以了。该怎么修改代码: Dim s1 As String = "111" Dim s2 As String = "abc" For Each r As Row In CurrentTable.Rows For Each c As Col In CurrentTable.Cols If r(c.Name) = s1 Then r(c.Name) = s2 Return End If Next Next 在全表中定位s1
|
-- 作者:有点蓝 -- 发布时间:2017/7/18 23:16:00 -- 去掉: r(c.Name) = s2 |
-- 作者:积水成渊 -- 发布时间:2017/7/18 23:28:00 -- 去掉了就没有定位的效果了,鼠标点在哪就是哪,不会去查找s1在表中的位置 |
-- 作者:积水成渊 -- 发布时间:2017/7/18 23:29:00 -- 是不是应该加个opsition 或者select之类的代码 |
-- 作者:积水成渊 -- 发布时间:2017/7/19 8:30:00 -- 顶一下,问题还没有解决 |
-- 作者:有点蓝 -- 发布时间:2017/7/19 9:12:00 -- If r(c.Name) = s1 Then CurrentTable.Position = r.Index Return End If
|
-- 作者:有点蓝 -- 发布时间:2017/7/19 9:13:00 -- For Each r As Row In CurrentTable.Rows For Each c As Col In CurrentTable.Cols If r(c.Name) = s1 Then CurrentTable.Select(r.Index,c.Index) Return End If Next Next
|
-- 作者:积水成渊 -- 发布时间:2017/7/19 9:53:00 -- 蓝老师你写的代码只能定位到第一个符合条件的单元格就不动了,我要的效果是,逐个定位单元格,点一下按钮,定位一个符合条件的的单元格,再点一下按钮,定位下一个符合条件的单元格 |
-- 作者:有点蓝 -- 发布时间:2017/7/19 10:07:00 -- 定义两个全局变量,整型,初始值0 Dim s1 As String = "111" For i As Integer = vars("row") To CurrentTable.Rows.Count - 1 For j As Integer = vars("col")+1 To CurrentTable.Cols.Count - 1 If CurrentTable.Rows(i)(CurrentTable.Cols(j).Name) = s1 Then vars("row") = i vars("col") = j CurrentTable.Select(i,j) Return "" End If Next vars("col") = 0 Next vars("col") = 0 vars("row") = 0 |
-- 作者:积水成渊 -- 发布时间:2017/7/19 10:37:00 -- 感谢 ,这个查询折腾挺久的,学的东西太少了,赶紧补课 |