以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 如何编写这样的代码????  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=46091)

--  作者:lmlptj
--  发布时间:2014/2/17 9:59:00
--  [求助] 如何编写这样的代码????
比如说:form1窗口内有表A,表B两上表控件.另在此窗体上还放置了"增加","删除".......等标准按钮.
问:我单击删除按钮,如果焦点在表A上就删除表A的当前行,如果焦点在表B上,就删除表B的当前行!!
我输入了增加按钮的单击事件,   如下代码却只能增加表B的行:求解!!!


If Tables("form1_表A").Focus Then
    Tables( "form1_表A").AddNew
Else If Tables(" "form1_表B" ").Focus   Then
    Tables(" "form1_表B" ").AddNew
Else
    MessageBox.Show("请用鼠标点击表A或表B后再增加行")
End If

[此贴子已经被作者于2014-2-17 9:59:52编辑过]

--  作者:Bin
--  发布时间:2014/2/17 10:03:00
--  
currenttable.addnew  一句代码即可
--  作者:lmlptj
--  发布时间:2014/2/17 10:06:00
--  
我只是举这么个例子,即判定焦点在哪个表上的代码如何编写??帮助里说得不是太详细!
[此贴子已经被作者于2014-2-17 10:06:07编辑过]

--  作者:Bin
--  发布时间:2014/2/17 10:10:00
--  
currenttable 就是当前表啊.
currenttable.Name 就是当前表的名称.

--  作者:lmlptj
--  发布时间:2014/2/17 11:10:00
--  
可是用到删除键就出出错!!为何咧??


If CurrentTable.Name = "编辑_主表" Then
    If MessageBox.Show("确定要删除当时记录?","删除确认",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes
        Tables("编辑_主表").Current.Delete
    End If
Else If CurrentTable.Name = "编辑_明细表" Then
    If MessageBox.Show("确定要删除当时记录?","删除确认",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes
        Tables("编辑_明细").Current.Delete
    End If
End If


想请教一下:如何判断鼠标的光标是否在哪个表的位置(即当前哪个表处于待编辑状态?)?
[此贴子已经被作者于2014-2-17 11:13:50编辑过]

--  作者:狐狸爸爸
--  发布时间:2014/2/17 12:16:00
--  

前面加上:

 

if currentTable isnot nothing andalso currenttable.Current isnot nothing then

    你原来的代码

end if