jason > 09-06-21, 02:59 PM
Minh Tiên > 09-06-21, 03:49 PM
Xuân Thanh > 09-06-21, 05:00 PM
jason > 09-06-21, 05:04 PM
(09-06-21, 03:49 PM)Minh Tiên Đã viết: Bạn dùng thử đoạn code này:
CurrentDb.Execute "UPDATE t00_HoSoNV SET SoThe='" & Forms!fchuyenbophan!txtSotheNew & "' WHERE SoThe='" & Forms!fchuyenbophan!txtSotheOld & "'"
Ghi chú:
'Forms!fchuyenbophan!txtSotheOld: Là số thẻ cũ (Nếu trên form). Còn không ở trên form thì bạn gõ trực tiếp trong hai dấu nháy đơn.
'Forms!fchuyenbophan!txtSotheNew: Là tên mới
Thân./.
jason > 09-06-21, 05:11 PM
(09-06-21, 05:00 PM)Xuân Thanh Đã viết: 1/ Trước hết phải xác định được rằng khi upđate Số thẻ mới thì có giữ lại Số thẻ cũ hay không. Tương tự như vậy đối với Bộ phận
2/ Nếu không giữ lại thì đơn giản hơn nhiều
3/ Không thể dùng FindFisrt theo Số thẻ được mà phải Find theo Mã Nhân Viên
4/ Không hiểu quy trình làm việc của tác giả nên chỉ có thể nói chung chung thế thôi
5/ Cũng vì lý do trên nên cách Update của MinhTien cũng không có hiệu quả
Thân mến
Xuân Thanh > 09-06-21, 05:33 PM
(09-06-21, 05:11 PM)jason Đã viết: nếu giữ lại số cũ được thì càng tốt nữa ạ,
thực ra e đang làm phần mềm quản lý nhân sự. trường hợp trên là e đang chuyển 1 nhân viên qua bộ phận khác liên quan tới thông tin nhân viên và hợp đồng .
nếu được xin giúp cái đơn giản trươc với ạ
xin cảm ơn
jason > 10-06-21, 08:29 AM
(09-06-21, 05:33 PM)Xuân Thanh Đã viết: 1/ Muốn làm được điều này, bạn phải có 2 table Hồ sơ tblHoSoNhanVien và tblBienDongNhanVien. Trong tblHoSoNhanVien chỉ cập nhật những thông tin mới nhất của nhân viên. tblBienDongNhanVien cập nhật tất cả các thay đổi của nhân viên từ đầu đên giờ. Có như vậy mới theo dõi được. Hai table này liên kết với nhau bởi MaNV
2/ Từ Excel bạn cũng phải tách ra hai Sheet tương ứng rồi Update lần lượt vào hai table trong Access. Lưu ý MaNV phải thống nhất và đồng nhất. Số lượng kí tự của các ô cũng phải đồng nhất với các Field của Table Access
ongke0711 > 10-06-21, 09:45 AM
(09-06-21, 02:59 PM)jason Đã viết: vấn đề e cần được giúp đỡ là muốn nhập dữ liệu vào 1 textbox trên form -> thực hiện sẽ chỉnh sửa 1 mã được chọn cho nhiều dòng
VD: mã thẻ phvhxz001 ở trong table có khoảng 2 hoặc 3-5 dòng. e muốn thay đổi phvhxz001 -> phvhhq010 cho tất cả các dòng trong table đó thì làm như thế nào ạ ?
code dưới e làm chỉ chỉnh sửa được 1 dòng thôi
Dim rshs As Recordset
Set rshs = CurrentDb.OpenRecordset("t00_HoSoNV", dbOpenDynaset)
If Sothe > 0 Then
rshs.FindFirst "[SoThe]='" & Sothe & "'"
rshs.Edit
rshs!Bophan = Forms!fchuyenbophan!cbBophanNew
rshs!HoTen = HoTen
rshs!Sothe = Forms!fchuyenbophan!txtSotheNew
rshs.Update
MsgBox "Da updated !", vbOKOnly
End If
jason > 10-06-21, 11:38 AM
(10-06-21, 09:45 AM)ongke0711 Đã viết:đúng là mã thẻ của t00_HoSoNV 1 người chỉ có 1 cái. đổi 4 dòng là ở table hợp đồng ạ.(09-06-21, 02:59 PM)jason Đã viết: vấn đề e cần được giúp đỡ là muốn nhập dữ liệu vào 1 textbox trên form -> thực hiện sẽ chỉnh sửa 1 mã được chọn cho nhiều dòng
VD: mã thẻ phvhxz001 ở trong table có khoảng 2 hoặc 3-5 dòng. e muốn thay đổi phvhxz001 -> phvhhq010 cho tất cả các dòng trong table đó thì làm như thế nào ạ ?
code dưới e làm chỉ chỉnh sửa được 1 dòng thôi
Dim rshs As Recordset
Set rshs = CurrentDb.OpenRecordset("t00_HoSoNV", dbOpenDynaset)
If Sothe > 0 Then
rshs.FindFirst "[SoThe]='" & Sothe & "'"
rshs.Edit
rshs!Bophan = Forms!fchuyenbophan!cbBophanNew
rshs!HoTen = HoTen
rshs!Sothe = Forms!fchuyenbophan!txtSotheNew
rshs.Update
MsgBox "Da updated !", vbOKOnly
End If
Tôi nghĩ có vấn đề gì đó trong việc xây dựng cái bảng này.
- t00_HoSoNV thì mỗi mã nhân viên chỉ có 1 dòng và mỗi nhân viên chỉ có 1 mã thẻ vậy: tại sao phải đổi tới 4 dòng mã thẻ?
- Mã thẻ không phải là khoá chính cho từng nhân viên phải không?
Bên cạnh đó nếu chỉ đơn giản có 4 dòng cùng mã thẻ, muốn đổi mã khác thì code bạn Minh Tiên là hợp lý rồi, sao chạy không được? nó báo lỗi gì?
Tôi nghĩ bạn nên đưa bức tranh tổng thể chứ đừng đưa giải pháp xử lý của bạn thì có thể sẽ có những giải pháp khác hay hơn.
Bạn không gửi file mẫu được thì chụp hình cấu trúc các table liên quan, hình Relationship các Table để dễ hình dung hơn.