Tạo bảng nhập Dữ liệu nhiều dòng bằng VBA Excel

Liên hệ QC

DarkWanderer

Thành viên hoạt động
Tham gia
16/12/19
Bài viết
104
Được thích
76
Giới tính
Nam
Chào anh chị em trên Diễn đàn,
Mình là nhân viên kho nên tự làm 1 form nhập xuất kho để tự theo dõi vật tư trong kho, ở đây có 1 số vấn đề trong nhập liệu nhiều dòng mà mình tự mò giải quyết như sau
1. Làm sao để quản lý số lượng dòng trên Form
- Mình tạo 1 textbox tên LineCount để lưu trữ số lượng dòng
2. Làm thế nào để xác định được hiện thêm mới dòng nào, xóa dòng nào
- Mình đặt tên các Control như: Column001_Row002, Column006_Row012
- Mình tạo 1 class module để lưu Control.name vào Textbox1, muốn biết số dòng đang chọn là bao nhiêu thì là Right(Textbox1,3)
- Khi thêm dòng thì thì + giá trị cho Textbox1, xóa dòng thì - giá trị Textbox 1
- Khi xóa 1 dòng thì mình dòng lệnh .remove(Textbox1.value) (.remove chỉ áp dụng cho các Control tạo ra bằng code)
3. Làm sao để đưa dữ liệu từ Form xuống Sheet, VD như trong Video mình đã đưa giá trị của 2400 Control (800 x 3) xuống Sheet
- Theo cách bình thường
Sheet1.range("A"&lastrow).value = control1.value
Sheet1.range("B"&lastrow).value = control2.value
Cách này máy tính chạy rất chậm
- Vì vậy mình đã tạo 1 mảng động rồi đưa tất cả Control.value vào đó (Kích thước mảng bằng (LineCount.value,4))
- Sau đó mình dùng code Insert Shift row thêm dòng vào bảng (Số dòng mới thêm bằng LineCount.value), như vậy mình không cần phải kẻ sẵn bảng nhiều, dữ liệu bao nhiêu thì code tự kẻ tiếp, như vậy file đỡ nặng
- Đưa mảng xuống Sheet
Mời mọi người tham khảo, mình cũng không học bài bản nên đụng cái nào mới mò thôi, hiểu biết có thể không đúng :wiggle:
 
Lần chỉnh sửa cuối:
Chào anh chị em trên Diễn đàn,
Mình là nhân viên kho nên tự làm 1 form nhập xuất kho để tự theo dõi tài liệu trong kho, ở đây có 1 số vấn đề trong nhập liệu nhiều dòng mà mình tự giải quyết như sau
1. Làm sao để quản lý dòng lượng trên Form
- Mình tạo 1 textbox tên LineCount để lưu trữ số lượng dòng
2. Làm thế nào để xác định được thêm dòng mới nào, xóa dòng nào
- Mình đặt tên các Control như: Column001_Row002, Column006_Row012
- Mình tạo 1 class module để lưu Control.name vào Textbox1, muốn biết số dòng đang chọn là bao nhiêu thì là Right(Textbox1,3)
- Khi thêm dòng thì thì + giá trị cho Textbox1, xóa dòng thì - giá trị cho Textbox 1
- Khi xóa 1 dòng thì mình đặt dòng lệnh .remove(Textbox1.value) (.remove chỉ áp dụng cho Control tạo ra bằng mã)
3. Làm sao để đưa dữ liệu từ Form xuống Sheet, VD như trong Video mình đã đưa giá trị của 2400 Control (800 x 3) xuống Sheet
- Theo cách bình thường
Sheet1.range("A"&lastrow).value = control1.value
Sheet1.range("B"&lastrow).value = control2.value
Cách này máy tính chạy rất chậm
- Vì vậy mình đã tạo 1 mảng động rồi đưa tất cả Control.value vào đó (Kích thước mảng bằng (LineCount.value,4))
- Sau đó mình dùng code Insert Shift row add line to table (Số dòng mới thêm bằng LineCount.value), như vậy mình không cần phải kẻ sẵn nhiều bảng, dữ liệu bao nhiêu thì code tự kẻ tiếp, như vậy file đỡ nặng
-dọn mảng xuống Sheet
Mời mọi người tham khảo, mình cũng không học bài bản nên ôm cái nào mới mò thôi, hiểu biết có thể sai:wiggle:
cho mình xin code video nay với
vantho185@gmail.com
Thanks!
 
Lần chỉnh sửa cuối:
Upvote 0
Chào anh chị em trên Diễn đàn,
Mình là nhân viên kho nên tự làm 1 form nhập xuất kho để tự theo dõi vật tư trong kho, ở đây có 1 số vấn đề trong nhập liệu nhiều dòng mà mình tự mò giải quyết như sau
1. Làm sao để quản lý số lượng dòng trên Form
- Mình tạo 1 textbox tên LineCount để lưu trữ số lượng dòng
2. Làm thế nào để xác định được hiện thêm mới dòng nào, xóa dòng nào
- Mình đặt tên các Control như: Column001_Row002, Column006_Row012
- Mình tạo 1 class module để lưu Control.name vào Textbox1, muốn biết số dòng đang chọn là bao nhiêu thì là Right(Textbox1,3)
- Khi thêm dòng thì thì + giá trị cho Textbox1, xóa dòng thì - giá trị Textbox 1
- Khi xóa 1 dòng thì mình dòng lệnh .remove(Textbox1.value) (.remove chỉ áp dụng cho các Control tạo ra bằng code)
3. Làm sao để đưa dữ liệu từ Form xuống Sheet, VD như trong Video mình đã đưa giá trị của 2400 Control (800 x 3) xuống Sheet
- Theo cách bình thường
Sheet1.range("A"&lastrow).value = control1.value
Sheet1.range("B"&lastrow).value = control2.value
Cách này máy tính chạy rất chậm
- Vì vậy mình đã tạo 1 mảng động rồi đưa tất cả Control.value vào đó (Kích thước mảng bằng (LineCount.value,4))
- Sau đó mình dùng code Insert Shift row thêm dòng vào bảng (Số dòng mới thêm bằng LineCount.value), như vậy mình không cần phải kẻ sẵn bảng nhiều, dữ liệu bao nhiêu thì code tự kẻ tiếp, như vậy file đỡ nặng
- Đưa mảng xuống Sheet
Mời mọi người tham khảo, mình cũng không học bài bản nên đụng cái nào mới mò thôi, hiểu biết có thể không đúng :wiggle:

Làm quá phức tạp không cần thiết. Sao bạn không làm form trên sheet luôn, sẵn có các dòng các cột bạn không phải viết code cho việc tạo dòng, cột trên userform nữa.

Ngoài ra bài toán dạng này còn phức tạp nữa là khi xem lại những phiếu đã nhập, rồi sửa lại phiếu đã nhập, có trường hợp xóa bớt dòng, có trường hợp thêm dòng, có trường hợp sửa giá trị trong dòng.
 
Upvote 0
Làm quá phức tạp không cần thiết. Sao bạn không làm form trên sheet luôn, sẵn có các dòng các cột bạn không phải viết code cho việc tạo dòng, cột trên userform nữa.

Ngoài ra bài toán dạng này còn phức tạp nữa là khi xem lại những phiếu đã nhập, rồi sửa lại phiếu đã nhập, có trường hợp xóa bớt dòng, có trường hợp thêm dòng, có trường hợp sửa giá trị trong dòng.
Cách người ta làm chẳng có gì phức tạp, làm Form thì đỡ tạo nhiều Sheet rối mắt, tiện Export dùng cho việc khác tùy sở thích người ta :unknw: Còn mấy cái bạn cho là phức tạp thì thực tế lại có thể giải quyết khá đơn giản
 
Upvote 0
Cách người ta làm chẳng có gì phức tạp, làm Form thì đỡ tạo nhiều Sheet rối mắt, tiện Export dùng cho việc khác tùy sở thích người ta :unknw: Còn mấy cái bạn cho là phức tạp thì thực tế lại có thể giải quyết khá đơn giản

Vậy là bạn mới chỉ nhìn họ "biểu diễn" thôi mà bạn chưa thực sự lập trình một giao diện kiểu như vậy - Loại form có nhiều dòng nhé. Tôi chắc chắn vậy nên bạn mới phát biểu thế. Tôi chỉ cần liệt kê các ý dưới đây về lợi ích khi làm trên sheet bạn hãy liên tưởng về userform sẽ thấy ra sao nhé. Nếu thích tôi có thể làm một ví dụ form trên trên sheet (với dạng bài toán này) nếu ai đó muốn so sánh bên nào code ngắn hơn, bên nào linh hoạt hơn. Thế mới trực quan sinh động.
Khi làm form trên sheet:
+ Không phải thiết kế grid/lưới, lưới trên sheet của Excel là hàng đỉnh của thế giới. Tự tạo lưới bằng cách thêm nhiều comboxbox, textbox như ví dụ trên còn phải code chán chê mê mỏi nhé.
+ Hỗ trợ việc nhập liệu nhanh gọn, copy, paste
+ Hỗ trợ Validation cho phép kiểm tra việc nhập giá trị đúng không. Lập trình trên Userform cũng ốm ho.
+ Hỗ trợ làm công thức để kiểm tra giá trị. Những cái này lập trình cũng ốm ho.
+ Việc đọc và ghi dữ liệu dựa theo mảng, Cells dễ dàng và thuận tiện trong lập trình.
+ Dùng các sự kiện Change, SelectionChange của Sheet để tạo tương tác người dùng.
+ Mọi việc lập trình vẫn viết bình thường như trên userform ngoại trừ phải làm nhiều tới giao diện.
 
Lần chỉnh sửa cuối:
Upvote 0
Mình đồng ý với bạn UltraExcel, mình tận dụng sheet của excel để nhập liệu nó tiện hơn nhiều, với form nhập liệu như trong video thì trên sheet nhập đơn giản, chứ để tạo userform như thế thì mất rất nhiều thời gian và chắc chắn sẽ phát sinh nhiều vấn đề, làm rồi các bạn sẽ thấy.
 
Upvote 0
Vậy là bạn mới chỉ nhìn họ "biểu diễn" thôi mà bạn chưa thực sự lập trình một giao diện kiểu như vậy - Loại form có nhiều dòng nhé. Tôi chắc chắn vậy nên bạn mới phát biểu thế. Tôi chỉ cần liệt kê các ý dưới đây về lợi ích khi làm trên sheet bạn hãy liên tưởng về userform sẽ thấy ra sao nhé. Nếu thích tôi có thể làm một ví dụ form trên trên sheet (với dạng bài toán này) nếu ai đó muốn so sánh bên nào code ngắn hơn, bên nào linh hoạt hơn. Thế mới trực quan sinh động.
Khi làm form trên sheet:
+ Không phải thiết kế grid/lưới, lưới trên sheet của Excel là hàng đỉnh của thế giới. Tự tạo lưới bằng cách thêm nhiều comboxbox, textbox như ví dụ trên còn phải code chán chê mê mỏi nhé.
+ Hỗ trợ việc nhập liệu nhanh gọn, copy, paste
+ Hỗ trợ Validation cho phép kiểm tra việc nhập giá trị đúng không. Lập trình trên Userform cũng ốm ho.
+ Hỗ trợ làm công thức để kiểm tra giá trị. Những cái này lập trình cũng ốm ho.
+ Việc đọc và ghi dữ liệu dựa theo mảng, Cells dễ dàng và thuận tiện trong lập trình.
+ Dùng các sự kiện Change, SelectionChange cảu Sheet để tạo tương tác người dùng.
+ Mọi việc lập trình vẫn viết bình thường như trên userform ngoại trừ phải làm nhiều tới giao diện.
OK bạn là giỏi nhất, tôi không muốn tranh cãi, tùy sở thích của mỗi người
1672458919163.png
 
Upvote 0
OK bạn là giỏi nhất, tôi không muốn tranh cãi, tùy sở thích của mỗi người
View attachment 285277

Ảnh bạn chưng ra đâu phải thiết kế bằng userform trong VBA, mà cho dù làm bằng userform thì cũng là cả đống code, nếu là một sản phẩm công phu được chau chuốt đẹp thì cũng tốt nhưng đánh đổi là quá mất thời gian và khó khăn chứ không phải dễ dàng, số lượng và thời gian để code giao diện chiếm 90% so với code nghiệp vụ là không đáng.
 
Upvote 0
Ảnh bạn chưng ra đâu phải thiết kế bằng userform trong VBA, mà cho dù làm bằng userform thì cũng là cả đống code, nếu là một sản phẩm công phu được chau chuốt đẹp thì cũng tốt nhưng đánh đổi là quá mất thời gian và khó khăn chứ không phải dễ dàng, số lượng và thời gian để code giao diện chiếm 90% so với code nghiệp vụ là không đáng.
Nếu bạn già cỗi và bảo thủ vậy thì cứ bỏ qua bài của người ta đi thôi :unknw: Người ta có ý tưởng cũng hay thì áp dụng, dở thì bỏ qua, việc gì phải cứ cố tỏ ra phải như bạn mới là đúng :rolleyes:
"nếu là một sản phẩm công phu được chau chuốt đẹp thì cũng tốt nhưng đánh đổi là quá mất thời gian và khó khăn chứ không phải dễ dàng, số lượng và thời gian để code giao diện chiếm 90% so với code nghiệp vụ là không đáng" => Tôi thích,OK
 
Upvote 0
Nếu bạn già cỗi và bảo thủ vậy thì cứ bỏ qua bài của người ta đi thôi :unknw: Người ta có ý tưởng cũng hay thì áp dụng, dở thì bỏ qua, việc gì phải cứ cố tỏ ra phải như bạn mới là đúng :rolleyes:
"nếu là một sản phẩm công phu được chau chuốt đẹp thì cũng tốt nhưng đánh đổi là quá mất thời gian và khó khăn chứ không phải dễ dàng, số lượng và thời gian để code giao diện chiếm 90% so với code nghiệp vụ là không đáng" => Tôi thích,OK
Bạn mới là một người bảo thủ. Chẳng đưa ra luận điểm gì trao đổi mà chỉ "tôi thích" :D
 
Upvote 0
Chuyện dùng Sheet Form hay Userform là tùy sở thích của người thiết kế, hình thức nào cũng được, miễn sao nó giải quyết được bài toán của ứng dụng đặt ra. Tranh cãi làm cái gì. Thiết kế ứng dụng trên Web, Ms Access... cũng phải thiết kế Form từ con số không (từ cái line, textbox...) chứ có sẵn dòng, cột gì đâu. Còn chuyện code nó phức tạp hơn hay đơn giản hơn thì cũng có qui định nào yêu cầu phải đơn giản đâu?
Có chăng là có yêu cầu xây dựng cái ứng dụng đáp ứng mục tiêu nào đó nhanh nhất có thể thì mới cân nhắc dùng công cụ nào để phát triển sản phẩm cho nhanh...
 
Upvote 0
Chuyện dùng Sheet Form hay Userform là tùy sở thích của người thiết kế, hình thức nào cũng được, miễn sao nó giải quyết được bài toán của ứng dụng đặt ra. Tranh cãi làm cái gì. Thiết kế ứng dụng trên Web, Ms Access... cũng phải thiết kế Form từ con số không (từ cái line, textbox...) chứ có sẵn dòng, cột gì đâu. Còn chuyện code nó phức tạp hơn hay đơn giản hơn thì cũng có qui định nào yêu cầu phải đơn giản đâu?
Có chăng là có yêu cầu xây dựng cái ứng dụng đáp ứng mục tiêu nào đó nhanh nhất có thể thì mới cân nhắc dùng công cụ nào để phát triển sản phẩm cho nhanh...

Nếu chỉ là thích làm, phù hợp theo yêu cầu thiết kế thì không có gì đáng bàn ở đây bạn à. Vấn đề mình chỉ muốn nói là tạo userform và tạo grid giả lập với việc vẽ từng textbox, combobox vào hợp thành kiểu grid là vất vả, nếu làm trên sheet sẽ nhanh và tiện thôi. Nhưng khi có bạn viết thế này

Cách người ta làm chẳng có gì phức tạp, làm Form thì đỡ tạo nhiều Sheet rối mắt, tiện Export dùng cho việc khác tùy sở thích người ta :unknw: Còn mấy cái bạn cho là phức tạp thì thực tế lại có thể giải quyết khá đơn giản

Không thể không phức tạp khi phải tự tạo grid dù đơn sơ, cố tạo ra cái hiển thị cơ bản cũng không hề đơn giản. Cứ nhìn vào form với mã nguồn mà xem rồi so với tạo form trên sheet. Nếu do yêu cầu thiết kế mình sẽ không bàn nhé.

Bạn so sánh việc tạo userform trên Access với Excel như nhau là không đúng. Trên Access có sẵn grid để bạn link các table vào nên điểm này là lợi ích thiết kế hơn rất nhiều với việc tạo grid giả trên userform của Excel. Các control khác thì cứ tạm cho là như nhau.
Vấn đề mình muốn nói ở đây là cái việc tạo grid trên userform của Excel là không hề đơn giản và ứng dụng dụng nó cho nhiều tình huống, còn phải sửa code tho mỗi loại form nhiều lắm. Nếu ai đó có ví dụ hoàn chỉnh rồi đưa mã nguồn lên đây sẽ thấy điều này.

Mình chỉ trao đổi vấn đề dễ và khó khi tạo grid giả trên userform của Excel thôi nhé, các vấn đề khác xin không bàn nữa.
 
Upvote 0
Vấn đề của chủ bài đăng là nhập & xuất kho (vật tư, hàng hóa)
Thường 1 hóa đơn mình phân ra làm 2 phần, phần chung & phần chi tiết;
Phần chung gồm các nội dung như người giao nhận, mã số thuế, ngày (thực hiện nhập hay xuất),. . . .
Phần chi tiết gồm Mã vật tư (VT), tên VT, ĐVT, Số lương,. . . .
Nếu trong Access thì ta tách thành 2 bảng có liên hệ với nhau
Trong Excel cũng có thể/nên làm vậy;

Vấn đề nhập nhiều dòng 1 lúc có vẻ như chủ bài đăng đang nói đến chuyện nhập liệu cho phần chi tiết.
Nếu đúng vậy thì chỉ cột [Số lương] ta phải nhập (bằng tay) mà thôi;
Các chi tiết khác đều nên chọn từ các ComboxBox

Như vậy thì xài SheetForm đỡ hơn ở vài khía cạnh:
→ Ít đầu tư để có vốn kiến thức tạo ra được 1 Form có thiết kế hoàn chỉnh & tráng lệ;
→ Viết Code cho SheetForm cũng cần kiến thức VBA ít hơn cái Form kia;
Còn Form thì chuyên nghiệp hơn, kiểm tra dữ liệu trước khi bấm nút cũng chặt chẽ hơn

[Trên đây là vài thiển ý cá nhân; Các bạn góp ý thêm cho mình & mọi người sáng tỏ]

Rất mong các bạn vui vẻ nhiều nhân dịp xuân về!
 
Upvote 0
Vấn đề của chủ bài đăng là nhập & xuất kho (vật tư, hàng hóa)
Thường 1 hóa đơn mình phân ra làm 2 phần, phần chung & phần chi tiết;
Phần chung gồm các nội dung như người giao nhận, mã số thuế, ngày (thực hiện nhập hay xuất),. . . .
Phần chi tiết gồm Mã vật tư (VT), tên VT, ĐVT, Số lương,. . . .
Nếu trong Access thì ta tách thành 2 bảng có liên hệ với nhau
Trong Excel cũng có thể/nên làm vậy;

Vấn đề nhập nhiều dòng 1 lúc có vẻ như chủ bài đăng đang nói đến chuyện nhập liệu cho phần chi tiết.
Nếu đúng vậy thì chỉ cột [Số lương] ta phải nhập (bằng tay) mà thôi;
Các chi tiết khác đều nên chọn từ các ComboxBox

Như vậy thì xài SheetForm đỡ hơn ở vài khía cạnh:
→ Ít đầu tư để có vốn kiến thức tạo ra được 1 Form có thiết kế hoàn chỉnh & tráng lệ;
→ Viết Code cho SheetForm cũng cần kiến thức VBA ít hơn cái Form kia;
Còn Form thì chuyên nghiệp hơn, kiểm tra dữ liệu trước khi bấm nút cũng chặt chẽ hơn

[Trên đây là vài thiển ý cá nhân; Các bạn góp ý thêm cho mình & mọi người sáng tỏ]

Rất mong các bạn vui vẻ nhiều nhân dịp xuân về!
Là một người làm kế toán dịch vụ , em thường xuyên tiếp xúc với dữ liệu dạng này .
Cho dù dùng userform hay sheet form thì đều rất mất công xử lý với vấn đề sửa, xóa dữ liệu gốc.
Cho nên :
- Nếu dữ liệu nhiều em lựa chọn giải pháp mua phần mềm chuyên ngiệp.
- Nếu dữ liệu ít thì e lựa chọn giải pháp nhập trực tiếp trên bảng tính . Về phần chung sử dụng Ctrl D để sao chép dòng trên xuống rất nhanh thôi. Phần chi tiết có thể sử dụng userform hoặc combox, listbox di động ... để nhập liệu cho nhanh như hình đính kèm. Đương nhiên nếu dùng trên nhiều trang tính thì viết Class module để viết code cho đỡ mất công.
1672504515477.png

Nói chung e nhận thấy rằng bản thân excel là một phần mềm xử lý dữ liệu ở dạng đơn giản, dữ liệu đầu vào do con người gõ vào ít có sự kiểm soát nên nó là không chuẩn. Ví dụ người ta gõ dữ liệu sai, tự ý thêm hàng cột , sửa xóa, định dạng linh tinh . Thay vì cố gò nó vào dạng dữ liệu chuẩn 100% là không khả thi , ta nên chấp nhận rằng có thể nó không chuẩn (với em thì cứ đạt 80% là ngon rồi ) cho dễ xử lý vấn đề, càng ít khi phải dùng tới vba thì lại càng hay. Vài ý kiến đóng góp theo thực tế công việc cá nhân em, có thể không phù hợp với người khác.
 
Upvote 0
1672504515477-png.285296


Thiết kế userform mà dùng sẵn các control (ListBox, TextBox) như hình trên thì nó đơn giản và phục vụ làm form tìm kiếm, nhập liệu đơn giản thì cũng tốt mà. Phức tạp và mất thời gian nhất là cái loại form nhập liệu với nhiều dòng ấy.
 
Upvote 0
Mình thì thấy cái quan trọng của người nhập liệu là tránh sai sót. Cũng không chê SheetForm hay UserForm, làm sao để tránh được sự sai sót là chính, mình dùng UserForm để nhập liệu, nhưng trên UserForm của mình chỉ có 6 cái label, 3 cái TextBox, 2 cái ComboBox, và 1 cái ListBox. Mình thấy trong UserForm của bạn @DarkWanderer dùng tới 2400 cái Control thì quá khủng.
PN1.png
PN2.png
PN3.png
khi nhập gõ ngày tháng năm vào TextBox Ngày, gõ số phiếu nhập vào textBox só phiếu, cứ chọn nhà cung cấp ở Combobox NCC, tên hàng hoá ở Combobox THH, và gõ số lượng (Đvt tự chạy theo tên hàng hoá) enter thì đập dữ liệu vào ListBox, muốn bao nhiêu dòng cũng được. Trong Form có đày đủ các chức năng thêm, sửa, xoá.
Ghi chú: Mình chỉ thiết kế Form và nêu ý muốn, còn toàn bộ code là Thầy batman1 viết cho mình đó. Cám ơn Thầy Batman1 nhiều.
 
Lần chỉnh sửa cuối:
Upvote 0
Mình thì thấy cái quan trọng của người nhập liệu là tránh sai sót. Cũng không chê SheetForm hay UserForm, làm sao để tránh được sự sai sót là chính, mình dùng UserForm để nhập liệu, nhưng trên UserForm của mình chỉ có 6 cái label, 3 cái TextBox, 2 cái ComboBox, và 1 cái ListBox. Mình thấy trong UserForm của bạn @DarkWanderer dùng tới 2400 cái Control thì quá khủng.
View attachment 285306
Theo thiển ý của mình thì nút lệnh 'Thêm nhà cung cấp' không thể thêm 1 cách đơn giản như vậy;
Nên chăng ta nên thực hiện (việc này) ở 1 Page khác của Form;
Vì mình cho là nhập NCC (nhà cung cấp) mới là phải nhập chí ít những trường sau:
[STT], [Mã NCC], [Tên NCC], [Địa chỉ], [Mã số thuế], [SĐT],. . . . (Kể cả [Ngày sinh]/[Ngày thành lập])

Chúc các bạn vui nhâp dịp xuân về!
 
Upvote 0
Theo thiển ý của mình thì nút lệnh 'Thêm nhà cung cấp' không thể thêm 1 cách đơn giản như vậy;
Nên chăng ta nên thực hiện (việc này) ở 1 Page khác của Form;
Vì mình cho là nhập NCC (nhà cung cấp) mới là phải nhập chí ít những trường sau:
[STT], [Mã NCC], [Tên NCC], [Địa chỉ], [Mã số thuế], [SĐT],. . . . (Kể cả [Ngày sinh]/[Ngày thành lập])
Thông thường nếu theo Form dạng này thì nó sẽ hoạt động như thế này anh SQ_DQ:
- Nút [Thêm NCC mới] sẽ mở ra 1 userform khác để nhập thông tin NCC.
- Khi nhập tên NCC bên dưới, nếu không có trong hệ thống sẽ bật thông báo và hỏi có muốn thêm NCC mới không - nếu OK sẽ mở Form thêm NCC - nếu không sẽ yêu cầu chọn lại NCC từ danh sách có sẵn.
- Ở Listbox bên dưới, khi nhấp đôi chuột (hoặc bấm nút Sửa/Xóa) vào dòng nào sẽ hiển thị thông tin lên các textbox bên trên để chỉnh sửa nội dung hoặc Xóa dòng đó khỏi CSDL.
 
Upvote 0
Web KT
Back
Top Bottom