Sửa dữ liệu trong access

daiduong2008

New Member
Hội viên mới
- 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.
 

sinhvienpy89

Mỗi ngày 1 điều mới
Hội viên mới
Ðề: Sửa dữ liệu trong access

Có phải ý bạn muốn khi load Form lên thì không cho phép sửa dữ liệu.Mà khi người dùng muốn sử dữ liệu thì phải nhấn nút Sửa thì mới cho Sửa.Để làm được bạn phải tạo một nút lệnh(Command Button) có Name:cmdEdit,Caption:Sửa.
Rồi sau đó bạn mới gắn mã lệnh vào ha.
 

domfootwear

Member
Hội viên mới
Ðề: Sửa dữ liệu trong access

- 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.
Khi load form thì bạn khoá nó lại như sau:

Mã:
Private Sub Form_Load()
TenTextBox.Locked = True
End Sub
Bấm vào nút sửa thì mở khoá:

Mã:
Private Sub cmdSua_Click()
TenTextBox.Locked = False
End Sub
Sửa xong khoá nó lại.

Mã:
Private Sub cmdSave_Click()
TenTextBox.Locked = True
End Sub
 

sinhvienpy89

Mỗi ngày 1 điều mới
Hội viên mới
Ðề: Sửa dữ liệu trong access

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
 

domfootwear

Member
Hội viên mới
Ðề: Sửa dữ liệu trong access

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
Cú 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.
 

sinhvienpy89

Mỗi ngày 1 điều mới
Hội viên mới
Ðề: Sửa dữ liệu trong access

Cú 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
 

domfootwear

Member
Hội viên mới
Ðề: Sửa dữ liệu trong access

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
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
 

sinhvienpy89

Mỗi ngày 1 điều mới
Hội viên mới
Ðề: Sửa dữ liệu trong access

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.
 

domfootwear

Member
Hội viên mới
Ðề: Sửa dữ liệu trong access

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 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
 

muontennguoi

Member
Thành viên BQT
Super Moderators
Ðề: Sửa dữ liệu trong access

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 có thể đặt AllowEdits của form thành false hoặc true.
Nếu là đang thao tác trên data thì có thể gán thêm AllowAdditions để cho phép hay không cho chèn thêm 1 record.
 

sinhvienpy89

Mỗi ngày 1 điều mới
Hội viên mới
Ðề: Sửa dữ liệu trong access

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
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.
Module Dong:
PHP:
Sub Dong()
txtmahh.Locked = True
End Sub
Module Mo:
PHP:
Sub Mo()
txtmahh.Locked = False
End Sub
Khi mình cho Form Load lên thì nó báo lỗi ngay:
Call Dong.
Tương tư nhu vậy khi nhấn nút Sua mà dung :
PHP:
Private Sub cmdEdit_Click()
Call Mo
End Sub
.
Xem thử có bị sai chỗ nào không?
-----------------------------------------------------------------------------------------
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
Sao lai khai bao saveAns la Integer vay domfoorwear.Integer là kiểu số nguyên mà.
 
Sửa lần cuối:

sinhvienpy89

Mỗi ngày 1 điều mới
Hội viên mới
Ðề: Sửa dữ liệu trong access

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
Mình ghi không có dâu chấm chỉ ghi là
PHP:
Call Dong
mà thôi ah.
Loi no nhu thế này khi Load Form lên:

Khi nhấn nút cmdEdit đẻ Unlock các txt thì bị lôi này:
.
Anh xem thử,
 
Sửa lần cuối:

sinhvienpy89

Mỗi ngày 1 điều mới
Hội viên mới
Ðề: Sửa dữ liệu trong access

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 Call Mo thế mơi khó hiểu chứ.Mà mình thì lại làm không đuọc.
 

domfootwear

Member
Hội viên mới
Ðề: Sửa dữ liệu trong access

Xem file rồi.Nhưng mà sao không thấy các Module của bạn.Chỉ thấy Call Dong Call Mo thế mơi khó hiểu chứ.Mà mình thì lại làm không đuọc.
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.
 

sinhvienpy89

Mỗi ngày 1 điều mới
Hội viên mới
Ðề: Sửa dữ liệu trong access

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!
 

domfootwear

Member
Hội viên mới
Ðề: Sửa dữ liệu trong access

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!
Bạn gửi file của bạn xem bạn làm sao và viết code ở đâu nhé.
 

CẨM NANG KẾ TOÁN TRƯỞNG


Liên hệ: 090.6969.247

KÊNH YOUTUBE DKT

Kỹ thuật giải trình thanh tra BHXH

Đăng ký kênh nhé cả nhà

SÁCH QUYẾT TOÁN THUẾ


Liên hệ: 090.6969.247

Top