|
示例代碼:
1.窗體上在一些文件框,按鈕(新增,修改,保存,放棄,等),子表單.
2.設定2個程序(Nor_mod普通模式設定,Edit_mod修改模式)
3.當表單載入時運行普通模式,(子表單鎖定,文本框不能編輯,保存按鈕不能用等),新增時
運行修模式(與普通模式相反),
4.這樣就實現了在瀏覽時不能修改,保存,只有按下修改按鈕,才能修改,
才能按下保存按鈕保存.
下面是示例代碼,你看看吧.
這樣應該算周到了吧..,,
呵呵...
Private Sub Form_Load()
Call Nor_mod
End Sub
Private Sub 存檔_Click()
On Error GoTo Err_存檔_Click
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Call Nor_mod
Exit_存檔_Click:
Exit Sub
Err_存檔_Click:
MsgBox Err.Description
Resume Exit_存檔_Click
End Sub
'普通模式按鈕狀態
Sub Nor_mod()
Dim CSL As Control
With Me
.編號.SetFocus
.AllowAdditions = False
.AllowDeletions = True
.子表單.Form.AllowAdditions = False
.子表單.Form.AllowEdits = False
.子表單.Form.AllowDeletions = False
.第一筆記錄.Enabled = True
.前一筆記錄.Enabled = True
.下一筆記錄.Enabled = True
.最後一筆記錄.Enabled = True
.尋找.Enabled = True
.新增.Enabled = True
.刪除.Enabled = True
.修改.Enabled = True
.BOM明細預覽.Enabled = True
.單階BOM.Enabled = True
.材料BOM.Enabled = True
.BOM成本報表.Enabled = True
.退出.Enabled = True
.工序明細.Enabled = False
.存檔.Enabled = False
.放棄.Enabled = False
End With
For Each CSL In Me.Controls
If CSL.Name <> "庫存類別篩選" Then
If CSL.ControlType = acTextBox Or CSL.ControlType = acComboBox Then
CSL.Locked = True
CSL.BackColor = 12632256
End If
End If
Next
End Sub
'修改新模式按鈕狀態
Sub Edit_mod()
Dim CSL As Control
With Me
.編號.SetFocus
.AllowDeletions = False
.子表單.Form.AllowAdditions = True
.子表單.Form.AllowEdits = True
.子表單.Form.AllowDeletions = True
.第一筆記錄.Enabled = False
.前一筆記錄.Enabled = False
.下一筆記錄.Enabled = False
.最後一筆記錄.Enabled = False
.尋找.Enabled = False
.新增.Enabled = False
.刪除.Enabled = False
.修改.Enabled = False
.BOM明細預覽.Enabled = False
.單階BOM.Enabled = False
.材料BOM.Enabled = False
.BOM成本報表.Enabled = False
.退出.Enabled = False
.工序明細.Enabled = True
.存檔.Enabled = True
.放棄.Enabled = True
End With
For Each CSL In Me.Controls
If CSL.Name <> "庫存類別篩選" Then
If CSL.ControlType = acTextBox Or CSL.ControlType = acComboBox Then
CSL.Locked = False
CSL.BackColor = -2147483643
'Me.編號.SetFocus
End If
End If
Next
End Sub
|
|