access中如何用命令按钮让窗体里的记录在可编辑和不可编辑之间切换
就是让窗体里的记录默认处于不可编辑状态,添加一个“编辑”按钮,点按钮后记录变为可编辑状态,这时“编辑”按钮自动变成“保存”按钮,再次点击后记录又变成不可编辑状态。我主要是...
就是让窗体里的记录默认处于不可编辑状态,添加一个“编辑”按钮,点按钮后记录变为可编辑状态,这时“编辑”按钮自动变成“保存”按钮,再次点击后记录又变成不可编辑状态。
我主要是为了防止误操作
我找到一个代码
Private Sub command13_Click()
If Me![command13].Caption = "编辑" Then
Me.AllowAdditions = True '允许添加
Me.AllowDeletions = True '允许删除
Me.AllowEdits = True '允许编辑
Me![command13].Caption = "检视"
ElseIf Me![command13].Caption = "检视" Then
Me.AllowAdditions = False '不允许添加
Me.AllowDeletions = False '不允许删除
Me.AllowEdits = False '不允许编辑
Me![command13].Caption = "编辑"
End If
End Sub
我看这个代码给的示例可以实现,就照着弄了一下,按钮文字可以变换,可为什么不起实际作用窗体中的记录仍然可以编辑?
会不会是按钮在主窗体上,不在子窗体上的缘故? 展开
我主要是为了防止误操作
我找到一个代码
Private Sub command13_Click()
If Me![command13].Caption = "编辑" Then
Me.AllowAdditions = True '允许添加
Me.AllowDeletions = True '允许删除
Me.AllowEdits = True '允许编辑
Me![command13].Caption = "检视"
ElseIf Me![command13].Caption = "检视" Then
Me.AllowAdditions = False '不允许添加
Me.AllowDeletions = False '不允许删除
Me.AllowEdits = False '不允许编辑
Me![command13].Caption = "编辑"
End If
End Sub
我看这个代码给的示例可以实现,就照着弄了一下,按钮文字可以变换,可为什么不起实际作用窗体中的记录仍然可以编辑?
会不会是按钮在主窗体上,不在子窗体上的缘故? 展开
1个回答
展开全部
假定
假定,窗体上有一个文本框text1,一个命令按钮command1,在窗体顶端设置一个模块级变量(私有变量)flag用来标志command1按钮的状态。
Option Compare Database
Private flag As Boolean ‘设置私有变量flag,用来标志command1按钮的状态
Private Sub Form_Open(Cancel As Integer) ‘打开窗体时,
Me.Text1.Locked = True ‘设置text1文本框锁定,
Me.Command1.Caption = "编辑" ‘设置command1按钮标题为 编辑
End Sub
Private Sub Command1_Click()
If flag Then ‘第一次单击时,flag没有赋值,默认为0,即false
Me.Text1.Locked = True
Me.Command1.Caption = "编辑"
Else
Me.Text1.Locked = False
Me.Command1.Caption = "保存"
End If
flag = Not flag ‘每次单击时,变换flag的取值
End Sub
基本原理就这样,关键是设置一个模块级变量flag。
假定,窗体上有一个文本框text1,一个命令按钮command1,在窗体顶端设置一个模块级变量(私有变量)flag用来标志command1按钮的状态。
Option Compare Database
Private flag As Boolean ‘设置私有变量flag,用来标志command1按钮的状态
Private Sub Form_Open(Cancel As Integer) ‘打开窗体时,
Me.Text1.Locked = True ‘设置text1文本框锁定,
Me.Command1.Caption = "编辑" ‘设置command1按钮标题为 编辑
End Sub
Private Sub Command1_Click()
If flag Then ‘第一次单击时,flag没有赋值,默认为0,即false
Me.Text1.Locked = True
Me.Command1.Caption = "编辑"
Else
Me.Text1.Locked = False
Me.Command1.Caption = "保存"
End If
flag = Not flag ‘每次单击时,变换flag的取值
End Sub
基本原理就这样,关键是设置一个模块级变量flag。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询