Nhờ mọi người giúp đỡ một vài vấn đề với Userform

Liên hệ QC

eherols

Thành viên mới
Tham gia
17/8/21
Bài viết
15
Được thích
1
Mình mới tập tành dùng vba, hiện đang tạo một form như hình dưới và có vướng mắc cần giúp đỡ như sau ạ!

uQWFAxc.png

Tại phần gia hạn, mình đã tạo lệnh để ấn nút sẽ ra form mới nhưng code như nào để lưu phần thông tin gia hạn đó chung với thông tin dữ liệu của người mình đang nhập ạ?



2x10kZU.png

Ngoài ra thì mình muốn có thông báo khi bị trùng số ở phần "Quyết định số, ngày tháng năm" thì code như nào
Kính mong nhận được sự giúp đỡ ạ
File của mình: https://www.mediafire.com/file/9u3wihno0to4ccx/So+theo+doi+tam+giu3.xlsm/file
 
Lần chỉnh sửa cuối:
Mình mới tập tành dùng vba, hiện đang tạo một form như hình dưới và có vướng mắc cần giúp đỡ như sau ạ!

uQWFAxc.png

Tại phần gia hạn, mình đã tạo lệnh để ấn nút sẽ ra form mới nhưng code như nào để lưu phần thông tin gia hạn đó chung với thông tin dữ liệu của người mình đang nhập ạ?



2x10kZU.png

Ngoài ra thì mình muốn có thông báo khi bị trùng số ở phần "Quyết định số, ngày tháng năm" thì code như nào
Kính mong nhận được sự giúp đỡ ạ
File của mình: https://www.mediafire.com/file/9u3wihno0to4ccx/So+theo+doi+tam+giu3.xlsm/file
Trước tiên bạn phải cho biết thông tin gia hạn đó ở đâu lấy từ nguồn nào và được lưu tại đâu, nếu lưu chung với sheet Nhap thì tiêu đề cột của nó ở đâu để lưu v.v...

P/S: Đánh giá, mặc dù mới học VBA nhưng tạo các Form cũng rất cầu kỳ và công phu, nhưng cần đặt tên cho chúng để dễ nhận biết bạn nhé, chẳng hạn:

1629215627356.png

Sẵn tiện tôi gửi bạn cái file tôi đã đổi tên các UserForm để bạn tiện dùng nhé.
 

File đính kèm

  • So theo doi tam giu3.xlsm
    41.5 KB · Đọc: 11
Lần chỉnh sửa cuối:
Upvote 0
Trước tiên bạn phải cho biết thông tin gia hạn đó ở đâu lấy từ nguồn nào và được lưu tại đâu, nếu lưu chung với sheet Nhap thì tiêu đề cột của nó ở đâu để lưu v.v...
Dạ, ví dụ: mình thêm một số cột về các thông tin trong form gia hạn tạm giữ lần 1 ở sheet "nhap" ; để lưu chung cùng với dữ liệu người mình đang nhập hoặc khi đã nhập dữ liệu của 01 người trước rồi, sau 01 thời gian mới nhập quyết định gia hạn lần 1 để lưu chung với người đó (bởi vì không phải người nào cũng gia hạn) thì dùng code như nào ạ
 
Upvote 0
Dạ, ví dụ: mình thêm một số cột về các thông tin trong form gia hạn tạm giữ lần 1 ở sheet "nhap" ; để lưu chung cùng với dữ liệu người mình đang nhập hoặc khi đã nhập dữ liệu của 01 người trước rồi, sau 01 thời gian mới nhập quyết định gia hạn lần 1 để lưu chung với người đó (bởi vì không phải người nào cũng gia hạn) thì dùng code như nào ạ
Bạn khoan nói về làm trên form đi, bạn nhập trực tiếp trên sheet cho tôi xem mẫu trước vài trường hợp và bạn diễn giải cho tôi xem, tôi hiểu đươc sẽ viết code nhanh chóng cho bạn.
 
Upvote 0
Bạn khoan nói về làm trên form đi, bạn nhập trực tiếp trên sheet cho tôi xem mẫu trước vài trường hợp và bạn diễn giải cho tôi xem, tôi hiểu đươc sẽ viết code nhanh chóng cho bạn.

Mình sẽ dùng ảnh cho tiện:
1.png
2.png
3.png
4.png
Và đối với những người mình đã nhập khác cũng có thể bổ sung theo cách như vậy.
 

File đính kèm

  • So theo doi tam giu3 (Autosaved).xlsm
    92.2 KB · Đọc: 3
Upvote 0
Mình sẽ dùng ảnh cho tiện:
View attachment 264306
View attachment 264307
View attachment 264308
View attachment 264309
Và đối với những người mình đã nhập khác cũng có thể bổ sung theo cách như vậy.
Cái ảnh với cái file bạn gửi form nó khác nhau, nên nếu bạn muốn người khác giúp thì form phải giống nhau, trong trường hợp của bạn thì bạn dùng tên làm trường chính, khi bạn tìm kiếm thì bạn biết lấy dữ liệu lên form rồi thì cái kia có gì đâu nhỉ, bạn dùng 1 biến toàn cục lưu cái dòng bạn vừa tìm kiếm đc, rồi từ cái form 2 bạn điền data vào dòng đó thôi.
Có 1 lưu ý là bạn dùng tên làm trường dò tìm sẽ xảy ra vần đề trùng tên, tốt nhất thêm 1 cột mã nữa.
 
Upvote 0
Cái ảnh với cái file bạn gửi form nó khác nhau, nên nếu bạn muốn người khác giúp thì form phải giống nhau, trong trường hợp của bạn thì bạn dùng tên làm trường chính, khi bạn tìm kiếm thì bạn biết lấy dữ liệu lên form rồi thì cái kia có gì đâu nhỉ, bạn dùng 1 biến toàn cục lưu cái dòng bạn vừa tìm kiếm đc, rồi từ cái form 2 bạn điền data vào dòng đó thôi.
Có 1 lưu ý là bạn dùng tên làm trường dò tìm sẽ xảy ra vần đề trùng tên, tốt nhất thêm 1 cột mã nữa.
mình gửi đúng file mà. Theo như góp ý của bạn mình cũng đã thêm ở trường dò tìm 1 số cột nữa cho đỡ trùng. File mới đính kèm:
 

File đính kèm

  • So theo doi tam giu4.xlsm
    121.1 KB · Đọc: 5
Upvote 0
Mình có hướng dẫn bạn làm rồi đấy, bạn dùng 1 biến toàn cục (biến dùng chung cho các sub) khi bạn bấm nút tìm kiếm, thì bạn lưu dòng bạn tìm kiếm vào biến đó, nếu bạn bấm sửa thì bạn ghi lại vào cái dòng mà bạn đã lưu vào biến ấy.
 
Upvote 0
@Chủ bài đăng: Mình thấy của bạn quá nhiều Form, thêm nữa 1 số form lại na ná nhau;
Nếu là mình thì giảm số form lại, tất nhiên khi đó 1 số form sẽ như những pages trong form mà thôi.
& khi đó chuyển từ page này sang page khác cũng nhanh hơn & khỏi nhọc công ghi thêm mấy mệnh đề lệnh.

Chúc các bạn sức khỏe & an lành!
 
Upvote 0
Nói về thiết kế CSDL của bạn tí xíu:
Theo mình là quá nhiều cột & điều quan trọng nhất là bạn chưa có Mã NS (nhân sự);(Cũng có người nói mã NS này có thể lấy số CCCD thay thế; Nhưng số CCCD cũng chưa có trong thiết kế của bạn;
Đừng nói với tôi là có NS chưa có CCCD/CMND đó nha!
Tất nhiên số CCCD này lê thê & khó sử dụng; nên mình gợi í với bạn bộ mã NS mà mình đang áp dụng cho mọi CSDL về nhân sự như sau:

STTMã NVHọ & Tên
1CCH00Châu Chấn Huy
2CNS00Chu Ngọc Sơn
3CVA00Cỗ Văn Ẩn
4CMN00Công Tằng Tôn Nữ Minh Nguyệt
5CJL00Cù Lân
6FFD00Đào Đức Dương
7FFD01Đỗ Đăng Dung
8DAH00Dương Ánh Hòa
9NHB01Ngô Thị Hòa Biền
10NHB00Nguyễn Hòa Bình
11NHB02Nhữ Thái Hải Hà
12TMH03Tạ Thị Minh Hà
13TJD00Trần Dương
14TMH00Trần Minh Hồng
15THH00Trần Minh Hồng Hà
16TTT01Trần Thành Trai
17TMH04Trần Thị Minh Hà
18TMH01Từ Mạnh Hóa
19TTT00Từ Thanh Tuấn

Hiện tại là vậy, chứ thật ra CSDL của bạn theo mình nên chuyển thành nhiều bảng & ít cột hơn nhiều
Có nghĩa là quản lý 1 NS theo 1 hàng, thì biến thành nhiều dòng nhưng ít cột hơn
Mình có ví dụ như sau:

Bảng chính:

STTMã NVHọ & TênNgày sinhGTThường trúCCCD. . . . . .
1CCH00Châu Chấn Huy
2CNS00Chu Ngọc Sơn

Bảng chi tiết:

TTMã NSNgàyMã Lý doSố QĐNội dung QĐ
1​
GPE00
1/13/2000​
A23/AnTrộm
2​
CCH00
2/14/2001​
B34M/QDTrốn trại
3​
GPE00
3/17/2003​
C540/MTạm giam lần 2
4​
CCH00
4/19/2005​
Z54/120Bắt lại
. . .. . . . .. . . .. .. . .. . . .

Mong rằng chúng ta sẽ tiếp tục trao đổi!
 
Upvote 0
@Chủ bài đăng: Mình thấy của bạn quá nhiều Form, thêm nữa 1 số form lại na ná nhau;
Nếu là mình thì giảm số form lại, tất nhiên khi đó 1 số form sẽ như những pages trong form mà thôi.
& khi đó chuyển từ page này sang page khác cũng nhanh hơn & khỏi nhọc công ghi thêm mấy mệnh đề lệnh.

Chúc các bạn sức khỏe & an lành!
Cám ơn bác, mình đã chuyển thành page để dễ nhập hơn
Bài đã được tự động gộp:

Nói về thiết kế CSDL của bạn tí xíu:
Theo mình là quá nhiều cột & điều quan trọng nhất là bạn chưa có Mã NS (nhân sự);(Cũng có người nói mã NS này có thể lấy số CCCD thay thế; Nhưng số CCCD cũng chưa có trong thiết kế của bạn;
Đừng nói với tôi là có NS chưa có CCCD/CMND đó nha!
Tất nhiên số CCCD này lê thê & khó sử dụng; nên mình gợi í với bạn bộ mã NS mà mình đang áp dụng cho mọi CSDL về nhân sự như sau:

STTMã NVHọ & Tên
1CCH00Châu Chấn Huy
2CNS00Chu Ngọc Sơn
3CVA00Cỗ Văn Ẩn
4CMN00Công Tằng Tôn Nữ Minh Nguyệt
5CJL00Cù Lân
6FFD00Đào Đức Dương
7FFD01Đỗ Đăng Dung
8DAH00Dương Ánh Hòa
9NHB01Ngô Thị Hòa Biền
10NHB00Nguyễn Hòa Bình
11NHB02Nhữ Thái Hải Hà
12TMH03Tạ Thị Minh Hà
13TJD00Trần Dương
14TMH00Trần Minh Hồng
15THH00Trần Minh Hồng Hà
16TTT01Trần Thành Trai
17TMH04Trần Thị Minh Hà
18TMH01Từ Mạnh Hóa
19TTT00Từ Thanh Tuấn

Hiện tại là vậy, chứ thật ra CSDL của bạn theo mình nên chuyển thành nhiều bảng & ít cột hơn nhiều
Có nghĩa là quản lý 1 NS theo 1 hàng, thì biến thành nhiều dòng nhưng ít cột hơn
Mình có ví dụ như sau:

Bảng chính:

STTMã NVHọ & TênNgày sinhGTThường trúCCCD. . .. . .
1CCH00Châu Chấn Huy
2CNS00Chu Ngọc Sơn

Bảng chi tiết:

TTMã NSNgàyMã Lý doSố QĐNội dung QĐ
1​
GPE00
1/13/2000​
A23/AnTrộm
2​
CCH00
2/14/2001​
B34M/QDTrốn trại
3​
GPE00
3/17/2003​
C540/MTạm giam lần 2
4​
CCH00
4/19/2005​
Z54/120Bắt lại
. . .. . . . .. . . .. .. . .. . . .

Mong rằng chúng ta sẽ tiếp tục trao đổi
Mình sẽ tiếp thu gợi ý của bác, sẽ chỉnh lại cho gọn hơn
 
Upvote 0
Khuyên bạn lấy giấy bút ra & vạch ra các trang tính với các trường (cột)Đối chiếu với công việc & hoạt động của cơ quan xem thử có trơn tru không đã. Cuối cùng mới đến chuyện nhập dữ liệu;kế tiếp là vấnđề bổ sung, sửa đổi các dữ liệu
Tất nhiên 1 số trường như Mã NS hay CCCD hãn hữu mới đổi, vì đổi có thể phá vỡ sự toàn vẹn hệ thống mà bạn dài công tạo dựng lên;
Rất vui được tiếp tục trao đổi cùng bạn sau này & chúc bạn sớm thàng công.
 

File đính kèm

  • Form.rar
    63 KB · Đọc: 4
Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom