Giúp em sửa lỗi thay đổi dữ liệu đã nhập có trong Listbox.

Gửi các anh chị trong diễn đàn TuhocVBA

Em đang thực hành 1 ví dụ nhưng em đang gặp vấn đề về sửa tên từ listbox userform. Mong được anh chị hỗ trợ giúp đỡ.

Điểm vấn đề:
1. Khi tìm kiếm trong listbox chỉ có 1 tên/dòng duy nhất thì em đổi tên đúng với mong muốn như không thay đổi được các cột khác
2. Khi em tìm trong danh sách có 2 tên trùng nhau thì khi thay đổi nó sẽ thay đổi tất cả các tên giống nhau đi.
3. Khi em không tìm tên mà em chọn 1 dòng trong listbox thay đổi thì tất cả dữ liệu thay đổi theo.

Vì quản lý cơ sở dữ liệu dò tìm thì nên chọn mã k trùng nhau . Nhưng hiện tại cơ sở dữ liệu của em đang có nhiều tên giống nhau. Nên em đính kèm file mẫu tương tự.
Mong muốn:
1. Em mong muốn khi tìm kiếm hay click vào 1 dòng dữ liệu nào trên listbox thì ta xác định được dòng đó tại hàng nào và có thể thay đổi trực tiếp 1 dòng đó.
2. Xóa dòng từ listbox




Mong được anh chị hỗ trợ
 

tuhocvba

Administrator
Thành viên BQT
File của bạn download về không còn macro, không thuận tiện cho việc chỉnh sửa. Bạn hãy nén file bằng winrar và sau đó chia sẻ lên google drive.
 
File của bạn download về không còn macro, không thuận tiện cho việc chỉnh sửa. Bạn hãy nén file bằng winrar và sau đó chia sẻ lên google drive.
Chào Anh đầu tiên cảm ơn anh đã hỗ trợ.
Em xin gửi lại file đính kèm:

Mong được anh hỗ trợ giúp đỡ.
 

tuhocvba

Administrator
Thành viên BQT
Nếu tìm kiếm theo từ khóa mà ra nhiều kết quả, thì cần phải có mã hiệu để đảm bảo tính duy nhất. Mình nghĩ bạn nên chèn thêm cột STT (số thứ tự), để đảm bảo mỗi dòng dữ liệu có một số thứ tự phân biệt. Sau đó dùng số thứ tự này làm từ khóa để cập nhật dữ liệu vào dòng tương ứng.
 

Euler

Administrator
Thành viên BQT
-Thêm một cột số thứ tự vào bảng dữ liệu. Tôi thấy việc này đơn giản, không có khó khăn gì.
Bạn cần đăng nhập để thấy hình ảnh


-Định nghĩa lại listbox có 4 cột (hiện tại bạn đang để là 3).
-Thêm một ô textbox để hiển thị số thứ tự. Ô này nên lock để không cho người dùng sửa.
-Khi tìm kiếm thì được như sau:
Bạn cần đăng nhập để thấy hình ảnh

-Khi click vào một dòng dữ liệu trên listbox thì sẽ ra như sau:
Bạn cần đăng nhập để thấy hình ảnh

Dựa vào thông tin số thứ tự hiển thị ở trên, bạn sẽ biết được mình cần phải cập nhật cho dữ liệu ở dòng nào trên Excel. Cứ tìm dòng nào mà có số thứ tự là 5 thì cập nhật thôi.

Tôi dựa vào code sẵn có của bạn để đưa ra tư vấn chứ cách trên không phải là cách hay nhất.
Ngoài ra, với các câu hỏi về giao diện userform, việc giúp đỡ rất mất thời gian, các bạn vướng mắc ở đâu thì giải đáp ở đó, mình không làm thay, trừ khi có thỏa thuận riêng có trả công.
 
-Thêm một cột số thứ tự vào bảng dữ liệu. Tôi thấy việc này đơn giản, không có khó khăn gì.
Bạn cần đăng nhập để thấy hình ảnh


-Định nghĩa lại listbox có 4 cột (hiện tại bạn đang để là 3).
-Thêm một ô textbox để hiển thị số thứ tự. Ô này nên lock để không cho người dùng sửa.
-Khi tìm kiếm thì được như sau:
Bạn cần đăng nhập để thấy hình ảnh

-Khi click vào một dòng dữ liệu trên listbox thì sẽ ra như sau:
Bạn cần đăng nhập để thấy hình ảnh

Dựa vào thông tin số thứ tự hiển thị ở trên, bạn sẽ biết được mình cần phải cập nhật cho dữ liệu ở dòng nào trên Excel. Cứ tìm dòng nào mà có số thứ tự là 5 thì cập nhật thôi.

Tôi dựa vào code sẵn có của bạn để đưa ra tư vấn chứ cách trên không phải là cách hay nhất.
Ngoài ra, với các câu hỏi về giao diện userform, việc giúp đỡ rất mất thời gian, các bạn vướng mắc ở đâu thì giải đáp ở đó, mình không làm thay, trừ khi có thỏa thuận riêng có trả công.
Biết là thêm số thứ tự vào tìm kiếm sẽ thay đổi đúng theo ý. Nhưng khi không tìm kiếm kích chọn vào file sửa đổi thì làm thay đổi tất cả cơ sở dữ liệu ạ. Mong anh hỗ trợ khắc phục hộ em. Em làm học tập không phải về công việc. Cảm ơn ạ
 

tuhocvba

Administrator
Thành viên BQT
Nhưng khi không tìm kiếm kích chọn vào file sửa đổi thì làm thay đổi tất cả cơ sở dữ liệu ạ
Câu này tôi đọc hoàn toàn không hiểu bạn muốn nói cái gì.
 
Khi em không gõ chữ tìm kiếm. Em chọn ngẫu nhiên 1 tên trong listbox. Rồi nhấn thay đổi tên. Thì tất cả dữ liệu đều thầy đổi. Video ví dụ em có minh họa bên trên đó ạ. Mong anh giúp
 

tuhocvba

Administrator
Thành viên BQT
Bạn mang vấn đề của bạn sang diễn đàn giaiphapexcel hỏi giúp mình .

Mình nghĩ kiến thức của bạn chưa phù hợp với diễn đàn THVBA.
 
Top