Office中国论坛/Access中国论坛

标题: 如何做到要修改时要先按修改按纽.保存时要按保存纽 [打印本页]

作者: lichun    时间: 2003-10-16 04:49
标题: 如何做到要修改时要先按修改按纽.保存时要按保存纽
如何做到要[B]修改时要先按修改按纽[/B].[B]保存时要按保存纽[/B].新增......
  另:删除按纽,在主窗体时删除主记录,光标在子窗体时删除子记录.等打哈操作按纽.
   [move]谢谢[/move][attach]2047[/attach]
作者: wxnqd    时间: 2003-10-16 06:04
用 窗体.allowedit=true 或 false 来解决
作者: wxnqd    时间: 2003-10-16 06:05
用 窗体.allowedit=true 或 false 来解决
作者: lichun    时间: 2003-10-16 06:59
谢谢.wxnqd
能帮做一个例子吗?

作者: ADAM    时间: 2003-10-16 15:35
你可以看看論壇上的那個關于bom的貼子
其中bom主表單就是這樣做的....
好像在第5-6頁....

...王婆賣瓜.....嘿嘿....
作者: lichun    时间: 2003-10-17 06:39
谢谢,可是有乱码看不全.有简体版吗?
作者: ADAM    时间: 2003-10-17 16:51
我也沒辦法轉換成簡體,
論壇上有將繁體轉換成簡體的插件,但不能在繁體版上用
只可在簡體版上用,你試試看
其實你只要看BOM1的源碼就可以了,...
嘿嘿....
作者: lichun    时间: 2003-10-18 07:04
谢谢,能否在我的例子上做一二个操作按纽.
由于水平有限,有些看不董.
作者: lichun    时间: 2003-10-23 19:25
此问题我还没有解决,那位大侠能帮忙/
谢谢
作者: ADAM    时间: 2003-10-23 19:47
示例代碼:
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

作者: lichun    时间: 2003-10-23 23:16
谢谢




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3