Nhập dữ liệu vào record nếu trùng thì......??

vuthuanbkvn

Member
Hội viên mới
Mình muốn làm một cái frmnhap:
Nếu dữ liệu nhập vào mà trùng với 1 cái đã có trong record rồi thì thông báo:
và hiển thị thông tin có muốn sủa lại ko? nếu có ấn yes nó sẽ nhảy đến record cũ với đầy đủ thông tin cũ mình chỉ việc sửa lại?
//////////////////////////////////////////////////////////////////
Private Sub cmdSave_Click()

If IIf(IsNull(txttruc), "", txttruc) = "" Then
MsgBox "Ban chua the luu vi khong co thong so nao?.", vbInformation, "THONG BAO"
Exit Sub
End If
On Error GoTo err_cmdSave_Click
DoCmd.RunCommand acCmdSaveRecord
ToggleControls True
exit_cmdSave_Click:
Exit Sub
err_cmdSave_Click:
If Err.Number = 3058 Then
MsgBox "Thong tin nhap khong duoc de trong.", vbInformation, "THONG BAO"
ElseIf Err.Number = 3022 Then
MsgBox "Thong tin nhap da bi trung roi.", vbInformation, "THONG BAO"
'///////////////////////////////////////////////////////

If MsgBox("Ban co muon nhap lai thong tin?", _
vbYesNo + vbQuestion + vbDefaultButton2, "Xac nhan thong tin cap nhap moi") = vbYes Then
??? Cần làm gì ở đây???
ToggleControls True
MsgBox "Record da duoc cap nhap moi thanh cong.", vbInformation, "THONG BAO"

End If

'////////////////////////////////////////////////////////
Else
MsgBox "Loi chua biet: " & vbCrLf & _
"Chi so loi: " & Err.Number & vbCrLf & "Noi dung: " & Err.Description
End If

End Sub
//////////////////////////////////////////////////////////////////
Ở chỗ cần làm gì ở đây: mình muốn nó nhảy đến thông tin của record có sẵn rồi để thay đổi thông tin về nó? ở đây là thông tin về trục? cần viết lệnh như thế nào để ấn "yes" thì nó sẽ nhảy đến "txttruc" với tất cả thông tin cũ,để cập nhập lại thông tin nhỉ? :chuyengivay:
 
Ðề: Nhập dữ liệu vào record nếu trùng thì......??

Cũng có thể cho msgbox để hỏi nhập lại thông tin, nhưng dù yes hay No thì bạn cũng phải ra khỏi block đó mới được. Hay chính xác hơn là ra khỏi thủ tục Save_Click đó luôn.

If MsgBox("Ban co muon nhap lai thong tin?", _
vbYesNo + vbQuestion + vbDefaultButton2, "Xac nhan thong tin cap nhap moi") = vbYes Then
Resume exit_cmdSave_Click
Else
' Làm trắng các text box, control, ...
' Lock chúng lại
' Toggle các nút lệnh là True
Resume exit_cmdSave_Click
End If
 
Ðề: Nhập dữ liệu vào record nếu trùng thì......??

Cũng có thể cho msgbox để hỏi nhập lại thông tin, nhưng dù yes hay No thì bạn cũng phải ra khỏi block đó mới được. Hay chính xác hơn là ra khỏi thủ tục Save_Click đó luôn.

If MsgBox("Ban co muon nhap lai thong tin?", _
vbYesNo + vbQuestion + vbDefaultButton2, "Xac nhan thong tin cap nhap moi") = vbYes Then
Resume exit_cmdSave_Click
Else
' Làm trắng các text box, control, ...
' Lock chúng lại
' Toggle các nút lệnh là True
Resume exit_cmdSave_Click
End If
vậy câu lệnh trên phải cho vào 1 thủ tục mới sao?:chuyengivay:
chỗ làm trắng sử dụng DoCmd.RunCommand acCmdDeleteRecord hả bạn?
Khóa các nút lại ah? ví dụ nút : nhập hay sửa ... à?
Bạn có thể chỉ rõ hơn cho mình hiểu ko?
 
Ðề: Nhập dữ liệu vào record nếu trùng thì......??

vậy câu lệnh trên phải cho vào 1 thủ tục mới sao?:chuyengivay:
chỗ làm trắng sử dụng DoCmd.RunCommand acCmdDeleteRecord hả bạn?
Khóa các nút lại ah? ví dụ nút : nhập hay sửa ... à?
Bạn có thể chỉ rõ hơn cho mình hiểu ko?

Làm trắng là gán chúng lại là trống, ví dụ: txtmaso = "", ...
Lock chúng lại có nghĩa là gán thuộc tính locked của chúng là True. Với những control không có thuộc tính này thì cho thuộc tính Enabled = False
Làm giống như là không lưu vậy.
Xem lại code đã hướng dẫn phần không lưu
 

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


Liên hệ: 090.6969.247

KÊNH YOUTUBE DKT

Cách làm file Excel quản lý lãi vay

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

SÁCH QUYẾT TOÁN THUẾ


Liên hệ: 090.6969.247

Top