以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  窗口表行问题请教老师  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=39117)

--  作者:mamuaiqing
--  发布时间:2013/8/15 21:13:00
--  窗口表行问题请教老师

窗口中有"窗口_Table1"、保存按钮、修改按钮。

 

在“窗口_Table1”中选中一行后点击“修改按钮”实现Table1中的值按代码分别填入到相应的控件中,请教下老师,学生想实现选中一行点击“修改按钮”后Table的焦点行

 

就固定在当前选中的行中,不能再选择其他行,直到“点击保存”按钮后,这样“修改按钮”跟“保存按钮”的代码要怎么写?


--  作者:有点甜
--  发布时间:2013/8/15 22:48:00
--  
 点击修改代码的时候,让table不能被编辑
Tables("xxxx").AllowEdit = false

 点击保存的时候,让table可以被编辑
Tables("xxxx").AllowEdit = true

--  作者:mamuaiqing
--  发布时间:2013/8/15 23:16:00
--  
以下是引用有点甜在2013-8-15 22:48:00的发言:
 点击修改代码的时候,让table不能被编辑
Tables("xxxx").AllowEdit = false

 点击保存的时候,让table可以被编辑
Tables("xxxx").AllowEdit = true

感谢有点甜的帮忙,锁定表后用代码照样能改变表中的内容


--  作者:mamuaiqing
--  发布时间:2013/8/16 0:05:00
--  

终于在帮助文件里找到这个,在表BeforeSelChange事件中输入下面的代码

If Forms("窗口").Opened Then
    If e.OldRange.RowSel <> e.NewRange.RowSel \'如果选择的是不同的行
        If e.OldRange.RowSel >= 0 AndAlso e.OldRange.Rowsel < e.Table.Rows.Count Then \'而且原来选择的是一个有效的数据行
            If Forms("窗口").Controls("Button3").Text = "保存" Then
                e.Cancel = True
               
            End If
        End If
    End If
End If

[此贴子已经被作者于2013-8-16 0:15:03编辑过]