以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  光标怎样才能移动到指定单元格?【继续】  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=1850)

--  作者:mr725
--  发布时间:2009/2/17 19:22:00
--  光标怎样才能移动到指定单元格?【继续】
光标怎样才能移动到指定单元格?如题

CurrentTable.Select(0,0) 其中行、列能用名称表达吗?
CurrentTable.Select(当前行,指定列名) 怎么表达
[此贴子已经被作者于2009-2-17 21:38:52编辑过]

--  作者:狐狸爸爸
--  发布时间:2009/2/17 20:30:00
--  

通过Name属性和Index属性,我们可以获得指定名称列的位置,也可以获得指定位置列的名称:

例如:

Output.Show("金额列的位置是:" & Tables("订单").Cols("金额").Index)
Output.Show(
"第三列的名称是:" & Tables("订单").Cols(2).Name)


--  作者:mr725
--  发布时间:2009/2/17 20:51:00
--  

老爹呀,你2楼说的与‘移动光标到指定单元格’有关系吗?看不懂啊。 原来易表中的move(row,"某列")多么简单啊(怀念~),能简单点,直接点说吗?

[此贴子已经被作者于2009-2-18 12:08:55编辑过]

--  作者:狐狸爸爸
--  发布时间:2009/2/17 20:54:00
--  

既然Index可以获得指定名称列的位置,那么实现你的要求很简单:

With CurrentTable
     CurrentTable
.Select(.RowSel, .Cols("金额").Index)

End With


--  作者:mr725
--  发布时间:2009/2/17 21:04:00
--  

谢谢了。
但是,把
            With CurrentTable
            CurrentTable.Select(.RowSel, .Cols("金额").Index)

      End With

放在AfterEdit事件中怎么不起作用?~ 放在命令窗口中就起作用。郁闷~

[此贴子已经被作者于2009-2-17 21:44:23编辑过]

--  作者:mr725
--  发布时间:2009/2/17 21:57:00
--  
afteredit:
        Dim kdm As string = Tables("表A").Current("型号")
        Dim km As DataRow = DataTables("表B").Find("[型号]  = \'" & kdm & "\'")
          if km IsNot Nothing Then
            Messagebox.Show("表B中已经有此型号!", "提示",MessageBoxButtons.OK) 
            Tables("表A").Current("型号") = Nothing 
            With CurrentTable
            CurrentTable.Select(.RowSel, .Cols("型号").Index)   ‘绿色部分不起作用???

         End With
          End if
编辑型号列后,按回车,发现表B有这个型号,提示后删除刚刚编辑的型号内容,使得光标再回到本行型号列这格单元格,以便继续编辑。

[此贴子已经被作者于2009-2-17 21:59:15编辑过]

--  作者:狐狸爸爸
--  发布时间:2009/2/17 22:04:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目5.rar


--  作者:狐狸爸爸
--  发布时间:2009/2/17 22:07:00
--  
定位时候总是往右多了一列。
可能是因为结束编辑的时候,已经送入一个右移键,你可以自己减去1。
--  作者:mr725
--  发布时间:2009/2/17 22:46:00
--  

其实用Sendkeys.Send("{left}")就能在按enter后回到原来的位置,当然用老爹您的7楼的代码也可以;但是有个问题:如果不是按enter键,而是用鼠标另选同一行其他单元格时,就无法回到代码指定的单元格了!!!~~

您可以试一试!~  怎样做到不论是按enter键,还是鼠标另选单元格都要回到指定的单元格?


--  作者:狐狸爸爸
--  发布时间:2009/2/17 22:53:00
--  
我也没有好的办法。

要不这样,在BeforeSelChange事件中设置代码,在不满足特定条件下,无法选择别的列。