Form cho nhập,không sửa xoá
xin chào,nếu chỉ cho nhập mới không thì với Data Entry = Yes là đủ,nhưng Bạn muốn tới lui để cho xem nhưng không cho sửa xoá khi đả có Data thì phải làm cách khác,bây giờ có 2 vấn đề đặt ra là:
1-không cho sửa xoá với người khác...còn Bạn thì sao!!??
2-là khoá luôn không ai có thể sửa xoá,kể cả Bạn...?
nếu là trường hợp thứ 2 thì,Bạn vào From-Design-Properties-Data(Allow Edits=No,Allow Deletions=No,Allow Additions =True),SubForm củng vậy,tôi xin giải thích thêm là nếu Bạn chọn Allow Additions =No luôn thì khi mở Form mà chưa có Record nào thì cái Form sẻ trắng bệt ra như tấm vách nhìn :004:,Ta sẻ khoá Allow Additions ở thủ tục Form_Load như sau:
If Not IsNull([1 cái field nào đó]) Then
Form.AllowAdditions = False
Else
Form.AllowAdditions = True
Form.Refresh
lưu ý,cái field [1 cái field nào đó] phải có thuộc tính Required=Yes
kế tiếp,bạn làm 2 nút lịnh(ex:Thêm,Xong):
nút Thêm On_click:
Form.AllowAdditions = True
Docmd.record goto đâu đó...
Me.SubForm.Form.AllowAdditions = True(SubForm không cần nút nào cả)
field.SetFocus(là 1 fields nào đó trong Form)
A.Visible = False(không Set cái nầy củng được nhưng về kỷ thuật lập trình thì để nhìn cho nó hiện đại)
Form.Refresh
nút Xong On_click:
Form.AllowAdditions = False
Me.SubForm.Form.AllowAdditions = False
A.Visible = True(nếu có False thì mới có True)
A.SetFocus
Form.Refresh
Bây giờ thì tới Bạn,nếu Bạn muốn sửa xoá thì Bạn làm thêm 1 cái Text nhỏ,Input Mask=Password(ex:TextSuaxoa)
TextSuaxoa_ApterUpdate()
IF TextSuaxoa = ".....gì đó" then
Form.AllowEdits = True
Form.AllowDeletions = True
Me.SubForm.Form.AllowEdits = True
Me.SubForm.Form.AllowDeletions = True
Form.Refresh
else
beep
MsgBox"muốn la gì thì la ...."
EndIf
đây là cách đơn giản nhất,còn cao cấp hơn thì Bạn dùng thêm về kỷ thuật Phân Quyền