-
DeMo dùng Main-Sub không sử dụng Form mà thay bằng ListBox
Xuân Thanh > 02-04-20, 01:10 PM
Bài 1 : Dùng Main-Sub sử dụng ListBox
Trên diễn đàn có bài chia sẻ của ongke0711 về việc tạo Main-Sub dùng table tạm và SubForm theo đường link này https://thuthuataccess.com/forum/post-45...l#pid45099
Việc dùng Ubound hay Bound tùy theo cách thiết kế của người làm chương trình, miễn sao thỏa mãn được yêu cầu. Tôi thì thích dùng Ubound hơn tuy phải viết code hơi nhiều nhưng bù lại ta dễ dàng kiểm soát được chúng dù là dùng DAO hay ADO
Hôm nay tôi giới thiệu với các bạn một kiểu thiết kế dạng Main-Sub nhưng không dùng Form mà thay bằng ListBox
Một số điểm cơ bản trong DeMo này là
1/ Dùng hoàn toàn Ubound không gán ControlSource cho các Controls trên Form, không sử dụng table tạm
2/ Cách gán RecordSource và Recordset bằng VBA
3/ Xử lý các nút lệnh Đầu, Cuối, Trước, Sau, Thêm, Sửa, Xóa, Hủy, Lưu
4/ Cách xử lý phần chi tiết đi theo phần chủ trên Main dựa vào hai ListBox
5/ Một số kỹ thuật xử lý trong ListBox
6/ Cách tạo khóa chính và Số Phiếu tự động dựa vào Loại Phiếu
Dưới đây là một số hình ảnh của DeMo
Khi mở frmPhieuNhapXuat chưa có dữ liêu
Khi mở frmPhieuNhapXuat đã có dữ liệu
Khi chọn một Phiếu Nhập Xuất trên Main bằng cách chọn trong ListBox của Main, các thông tin của Phiếu được hiển thị trên các Controls của Main đồng thời phần chi tiết sẽ hiển thị chi tiết nhập xuất cho phiếu được chọn
Khi sử dụng các nút lệnh Đầu, Trước, Sau, Cuối thì các dòng chọn trên ListBox của Main cũng chạy theo và kèm theo đó là sự thay đổi của phần chi tiết
Các bạn download file về và từ từ ngâm cứu
Link https://drive.google.com/file/d/1eJJJ2gw...sp=sharing
P/S : Vì làm DeMo nên tôi thao tác trực tiếp trên Form luôn. Các bạn có thể vận dụng các hàm của ongke0711 để Insert, Update...
Bài sau sẽ giới thiệu một cách làm khác là Phần Main được liên kết từ một Form khác, ta chỉ xử lý phần Sub thôi -
RE: DeMo dùng Main-Sub không sử dụng Form mà thay bằng ListBox
ongke0711 > 02-04-20, 01:27 PM
Dùng đối tượng Listbox cũng là một cách hay vì dùng Listbox sẽ nhẹ nhàng hơn là load cái đối tượng Form lên làm Subform với môt đống các phương thức, thuộc tính đi kèm mà có thể mình không dùng đến trong Subform.
Về giao diện thì nó không bằng dùng Form nhưng nếu tinh chỉnh chút thì vẫn bắt mắt. -
RE: DeMo dùng Main-Sub không sử dụng Form mà thay bằng ListBox
Xuân Thanh > 02-04-20, 01:38 PM
(02-04-20, 01:27 PM)ongke0711 Đã viết: Dùng đối tượng Listbox cũng là một cách hay vì dùng Listbox sẽ nhẹ nhàng hơn là load cái đối tượng Form lên làm Subform với môt đống các phương thức, thuộc tính đi kèm mà có thể mình không dùng đến trong Subform.
Về giao diện thì nó không bằng dùng Form nhưng nếu tinh chỉnh chút thì vẫn bắt mắt.
Chính xác. Vì thế trong những trường hợp đơn giản tôi mới sử dụng form còn thường là dùng ListBox cho nhẹ nhàng và dễ. Đối với ListBox gán Recorset dễ hơn dùng Form -
RE: DeMo dùng Main-Sub không sử dụng Form mà thay bằng ListBox
Xuân Thanh > 03-04-20, 11:28 AM
Bài 2 : Sử dụng Main Sub riêng rẽ
Trong DeMo này ta thiết kế Main và Sub riêng rẽ để dễ dàng xử lý hơn
Khi click đúp vào một Phiếu Nhập Xuất trong listbox của form Main, sẽ mở frmPhieuNhapXuatChiTiet và gán giá trị của khóa chính trên form Main vào textbox txtRec của form này. Các dữ liệu của listbox trên form này sẽ phụ thuộc vào giá trị của khóa chính. Nếu phần chi tiết theo khóa chính có dữ liệu thì listbox có giá trị và ngược lại
Một số hình ảnh của DeMo
Mở form frmPhieuNhapXuat, chọn dòng trên listbox và click đúp nó. Form frmPhieuNhapXuat được đóng lại và mở form frmPhieuNhapXuatChiTiet
Khi thoát frmPhieuNhapXuatChiTiet sẽ mở lại frmPhieuNhapXuat
Link download : https://drive.google.com/file/d/1cSffPSP...sp=sharing