- Mình có 1 form chẳng hạn các dữ liệu đã bị khoá khi load lên. Khi nhấn vào nút sửa dữ liệu sẽ được sửa đổi, khi mình nhấn vào nút luu dữ liệu sẽ bị khoá lại
Mong các bạn giúp đỡ cám ơn.
Mong các bạn giúp đỡ cám ơn.
- Mình có 1 form chẳng hạn các dữ liệu đã bị khoá khi load lên. Khi nhấn vào nút sửa dữ liệu sẽ được sửa đổi, khi mình nhấn vào nút luu dữ liệu sẽ bị khoá lại
Mong các bạn giúp đỡ cám ơn.
Private Sub Form_Load()
TenTextBox.Locked = True
End Sub
Private Sub cmdSua_Click()
TenTextBox.Locked = False
End Sub
Private Sub cmdSave_Click()
TenTextBox.Locked = True
End Sub
Anh domfootwear xem thủ cái Form của em làm theo ý của anh.Nhưng nó xảy ra nhiều bất cập.Thi dụ như là:
Khi nhấn nut Them moi thì nó them,chưa ghi gì nhân nút lưu thì lại không phản ứng gì hết.
-Khi nhấn nút Sua rồi nhập xong.Nhấn nút thoát thì nó không hề báo luu.
Mong anh xem xét giùm
http://www.mediafire.com/file/wdkjt3zl2gi/nam.mdb
Thế thì phải viết như thế nào nữa anh chỉ luôn,hay hướng dẫn cho em dùng những sự kiện gì cũng được.Hay đưa ra phuong hướng cũng đượcCú pháp trên chỉ đơn thuần là khoá và mở khoá thôi, nếu mở khoá (Nhấn sửa) bạn nhập liệu vào là nó đã lưu vào bảng tính rồi. Nếu bạn muốn xác nhận lưu Record vừa nhập xong thì phải thêm 1 vài đoạn code xác nhận nữa.
Thế thì phải viết như thế nào nữa anh chỉ luôn,hay hướng dẫn cho em dùng những sự kiện gì cũng được.Hay đưa ra phuong hướng cũng được
Private Sub cmdSave_Click()
Dim saveAns As Integer
saveAns = MsgBox("Ban co that su muon luu khong ?", vbYesNo)
If saveAns <> vbYes Then
Me.Undo
End If
txtmhh.Locked = True
txttenhh.Locked = True
End Sub
Em hỏi thêm anh Dom chút,trong qua trình từ lúc Form load lên,đén Chỉnh Sửa,Lưu.Đều xuất hiện tên của các Txtbox.Mà trong một Form có rất nhiều textbox.Như vậy nó xuất hiên rất là nhiều,chẳng lẽ phải đánh khi em muốn lock các textbox hay sao.Trong CSDL thì đâu phải chỉ có 1 Form.Có cách nào để cho dùng chung không?Anh chỉ chi tiết cho.Bạn dùng code sau nhé:
Mã:Private Sub cmdSave_Click() Dim saveAns As Integer saveAns = MsgBox("Ban co that su muon luu khong ?", vbYesNo) If saveAns <> vbYes Then Me.Undo End If txtmhh.Locked = True txttenhh.Locked = True End Sub
Em hỏi thêm anh Dom chút,trong qua trình từ lúc Form load lên,đén Chỉnh Sửa,Lưu.Đều xuất hiện tên của các Txtbox.Mà trong một Form có rất nhiều textbox.Như vậy nó xuất hiên rất là nhiều,chẳng lẽ phải đánh khi em muốn lock các textbox hay sao.Trong CSDL thì đâu phải chỉ có 1 Form.Có cách nào để cho dùng chung không?Anh chỉ chi tiết cho.
Sub Dong()
TenTexBox.Locked=True
....
Sub Mo()
TenTexBox.Locked=False
....
Call Dong
Call Mo
Em hỏi thêm anh Dom chút,trong qua trình từ lúc Form load lên,đén Chỉnh Sửa,Lưu.Đều xuất hiện tên của các Txtbox.Mà trong một Form có rất nhiều textbox.Như vậy nó xuất hiên rất là nhiều,chẳng lẽ phải đánh khi em muốn lock các textbox hay sao.Trong CSDL thì đâu phải chỉ có 1 Form.Có cách nào để cho dùng chung không?Anh chỉ chi tiết cho.
Làm trong Excel thì không hề hấn gì,nhưng trong Access thì có báo lỗi đây doomfootwear à.Mình tạo một cái Module như bạn nói.Bạn dùng cú pháp sau cho 1 form:
Mã:Sub Dong() TenTexBox.Locked=True ....
Mã:Sub Mo() TenTexBox.Locked=False ....
Sau đó các nút bấm mình không cần phải gõ lại mà chỉ cần gọi nó ra là được
Bạn muốn đóng:
Mã:Call Dong
Bạn muốn mở:
Mã:Call Mo
Sub Dong()
txtmahh.Locked = True
End Sub
Sub Mo()
txtmahh.Locked = False
End Sub
Private Sub cmdEdit_Click()
Call Mo
End Sub
Sao lai khai bao saveAns la Integer vay domfoorwear.Integer là kiểu số nguyên mà.Bạn dùng code sau nhé:
Mã:Private Sub cmdSave_Click() Dim saveAns As Integer saveAns = MsgBox("Ban co that su muon luu khong ?", vbYesNo) If saveAns <> vbYes Then Me.Undo End If txtmhh.Locked = True txttenhh.Locked = True End Sub
Mình ghi không có dâu chấm chỉ ghi làMình vẫn thử được mà.
Bạn ghi Call Dong. hay là Call Dong có dấu chấm không?
-Còn Integer thì bạn vào cửa sổ VBA tô khối vbYesNo, và bấm F1 sẽ có câu trả lời. vbYesNo=4
http://www.4shared.com/file/165126924/f9b4d07e/nam.html
Call Dong
Mình ghi không có dâu chấm chỉ ghi là
mà thôi ah.PHP:Call Dong
Xem file rồi.Nhưng mà sao không thấy các Module của bạn.Chỉ thấy Call Dong và Call Mo thế mơi khó hiểu chứ.Mà mình thì lại làm không đuọc.Bạn xem file đính kèm mình gửi bài trước đi nhé.
Xem file rồi.Nhưng mà sao không thấy các Module của bạn.Chỉ thấy Call Dong và Call Mo thế mơi khó hiểu chứ.Mà mình thì lại làm không đuọc.
Thật tình là em chưa hiểu lắm.Tự nhiên có Call Mo là nó hoạt động,còn em làm thì nó cứ trơ trơ,em làm sai chỗ nào chăng!Cái này chỉ khai báo và sử dụng cho form thôi chứ không phải module toàn cục. Code nằm trong VBA Form.
Thật tình là em chưa hiểu lắm.Tự nhiên có Call Mo là nó hoạt động,còn em làm thì nó cứ trơ trơ,em làm sai chỗ nào chăng!
File của em làm đây anh xem thử nha:http://www.mediafire.com/file/mojhzm2vo3h/Vidu.mdb.mdbBạn gửi file của bạn xem bạn làm sao và viết code ở đâu nhé.
File của em làm đây anh xem thử nha:http://www.mediafire.com/file/mojhzm2vo3h/Vidu.mdb.mdb