Bỏ qua để tới nội dung chính
Đăng nhập với Microsoft
Đăng nhập hoặc tạo một tài khoản.
Xin chào,
Chọn một tài khoản khác.
Bạn có nhiều tài khoản
Chọn tài khoản bạn muốn đăng nhập.

Chọn chủ đề bất kỳ bên dưới để tìm hiểu về việc quản lý các Công ty trong Northwind Developer Edition. 

Lưu ý: Trang này được tham chiếu trên Access Developer Showcase Edition

Trong Phiên bản Northwind Starter, Khách hàng là loại công ty duy nhất. Trong Phiên bản dành cho Nhà phát triển, chúng tôi đã mở rộng bao gồm Khách hàng, Người gửiNhà cung cấp

Chúng tôi cũng đã mở rộng Sản phẩm để bao gồm nhiều nhà cung cấp cho một sản phẩm.   

Mỗi công ty chỉ có thể là một loại: Khách hàng, Người gửi hoặc Nhà cung cấp. Trường hợp kinh doanh khi loại công ty có thể được thay đổi được mô tả trong phần frmCompanyDetail của bài viết này.
'

Loại công ty và vị trí sử dụng 

  • Khách hàng cho Đơn hàng

  • Người gửi cho Đơn hàng

  • Nhà cung cấp cho Đơn đặt hàng

  • Nhà cung cấp cho Một Sản phẩm

Ngoài ra, các Công ty trong phiên bản Northwind Developer có thể có nhiều Liên hệ.
'

Các công ty trong Ribbon

Việc chọn Công ty từ Dải băng sẽ hiển thị các Công ty ở Northwind trong frmCompanyList

Danh sách Công ty - frmCompanyList

Trong Phiên bản Nhà phát triển Northwind, frmCompanyList là một biểu mẫu tách. Biểu mẫu tách cung cấp cho bạn đồng thời hai dạng xem dữ liệu là Dạng xem Biểu mẫuvà Dạng xem Biểu dữ liệu. Nó cũng có đầu trang và chân trang.  Trong quá trình thực hiện này, chúng tôi sẽ không hiển thị dạng xem biểu mẫu. Bằng cách không hiển thị dạng xem biểu mẫu, chúng ta sẽ có biểu dữ liệu với đầu trang và chân trang.  

Dưới đây là cách chúng tôi đạt được điều này:  

Trong frmCompanyList, thanh tách giữa đầu trang và biểu dữ liệu không hiển thị. Thuộc tính biểu mẫu Tách Thanh Tách Biểu mẫu được đặt Không, do đó ẩn dạng xem biểu mẫu. 

Biểu mẫu tách và biểu mẫu Biểu dữ liệu giống như trang tính Excel. Chúng hỗ trợ lọc và sắp xếp và bạn có thể hiển thị, ẩn hoặc di chuyển trường hoặc cột. Ngoài ra, các cột có thể được tính tổng. 

Các phần đầu trang và chân trang của biểu mẫu tách cho phép bạn sử dụng các nút lệnh, hình ảnh, văn bản(nhãn) và bất kỳ điều khiển biểu mẫu truy nhập nào khác mà bạn muốn cải thiện trải nghiệm của người dùng. Để tìm hiểu thêm về biểu mẫu và biểu mẫu tách, bạn có thể bắt đầu tại đây. Biểu dữ liệu không hiển thị các phần đầu trang và chân trang.

Tìm hiểu thêm thông qua Giới thiệu về biểumẫu và Tạo biểu mẫu tách
'

Biểu mẫu Danh sách Công ty hỗ trợ năm hành động sau:

  • Áp dụng bộ lọc tùy chỉnh, dựng sẵn, lọc theo yêu cầu hoặc cả hai

  • Hiển thị/Ẩn Trường

  • Tạo Nhãn

  • Hiển thị Bộ lọc

  • Thêm Công ty mới

Bấm đúp vào vị trí bất kỳ trong hàng chi tiết để mở biểu mẫu Chi tiết Công ty (không chỉ trên ID như trong các biểu mẫu khác). 
'

Bộ lọc dựng sẵn và lọc theo yêu cầu

Biểu mẫu frmCompanyList có nhiều cơ hội để lọc các Công ty trong Northwind.  Ở đầu màn hình, bạn có thể lọc bằng các nút chọn một sau:

  • Tất cả các Công ty (mặc định)

  • Chỉ Dành cho Khách hàng

  • Chỉ chủ hàng

  • Chỉ Nhà cung cấp

Ngoài ra, có sẵn các tùy chọn lọc tích hợp sẵn, theo yêu cầu của biểu dữ liệu. Bất kỳ bộ lọc nào được áp dụng cho biểu mẫu Danh sách Công ty (được lập sẵn hoặc theo yêu cầu) đều được chuyển và áp dụng cho frmCompanyDetail khi mở.  

Để truyền bộ lọc từ biểu mẫu này sang biểu mẫu khác, trước tiên bạn phải xóa chuỗi bộ lọc của biểu mẫu để chỉ chứa tên trường. Nhìn vào các mô-đun mã Open_frmCompanyDetail giải thích chi tiết hơn về cách này được thực hiện và trong frmCompanyDetail tại các ý kiến cho Form_Load để xem làm thế nào nó được áp dụng.

Chúng tôi chuyển thông tin bộ lọc đến biểu mẫu Chi tiết Công ty thông qua thuộc tính OpenArgs của biểu mẫu thay vì mở biểu mẫu có điều kiện .  Bạn có thể tìm hiểu thêm về OpenArgs tại đây.


Hiển thị/Ẩn Trường

Chọn Hiển thị/Ẩn Trường để mở một hộp thoại với danh sách tất cả các trường có sẵn; bạn có thể chọn hoặc bỏ chọn một hoặc nhiều cột. Bố trí đã chọn sẽ duy trì từ phiên này sang phiên bản khác cho đến khi phiên bản mới của ứng dụng được triển khai. Xem mục Hiển thị hoặc ẩn cột trong biểu dữ liệu. 

Tạo Nhãn

Nút Tạo nhãn sẽ mở Trình hướng dẫn Nhãn Access. Tìm hiểu thêm về trình hướng dẫn nhãn tại đây: Tạo nhãn thư trong Access. 

Mở Chi tiết Công ty

Bấm đúp vào vị trí bất kỳ trong hàng chi tiết để mở frmCompanyDetail

Bấm vào trường ID (thiết lập dưới dạng siêu kết nối) hoặc bấm đúp vào bất kỳ trường nào khác trong hàng chi tiết để mở frmCompanyDetail cho Công ty đã chọn và chuyển bất kỳ bộ lọc biểu mẫu nào đã được áp dụng cho Danh sách Công ty để frmCompanyDetail.

Chi tiết Công ty - frmCompanyDetail

Lúc đầu, frmCompanyDetail có thể trông tương đối đơn giản.  Tuy nhiên, nó không phải.  Trong mã đằng sau biểu mẫu, rất nhiều đang xảy ra!  Biểu mẫu sẽ tô sáng các hành động và tính năng sau đây:

  • Một số nút lệnh và liên kết

    • Thêm Công ty

    • Danh sách Công ty qua Email

    • Hiển thị Bộ lọc

    • Xóa Công ty

    • Mở Bản đồ dựa trên Địa chỉ

    • Mở trang web từ siêu kết nối

  • Hủy hoặc Lưu hành động trong chế độ thêm/chỉnh sửa

  • Các quy tắc kinh doanh để kiểm soát thời điểm có thể thay đổi loại công ty

  • Kiểm tra tính toàn vẹn tham chiếu trước sự kiện delete
    '

Sự kiện Form_Load gồm các hành động sau đây:

  • Sử dụng nhiều tham số được chuyển vào biểu mẫu thông qua OpenArgs và hàm Northwind StringToDictionary tùy chỉnh

  • Sử dụng thuộc tính biểu mẫu OpenArgs để cho phép người dùng thêm công ty mới trong khi thực hiện Đơn hàng

  • Sử dụng kỹ thuật GoToRecord để thêm công ty mới

  • Sử dụng kỹ thuật SearchForRecord để di chuyển đến Công ty được chọn trên frmCompanyList

  • Tùy chọn Phân nhánh/Thực thi có điều kiện (Xem Form_Load kiện)

    • Tùy chọn 1 - Câu lệnh Trường hợp

    • Tùy chọn 2 - Lồng nếu khác

    • Tùy chọn 3 – ElseIf

    • Tùy chọn 4 - Lồng If Else và ElseIf
      '

Trong trường Form_Current kiện, các sự kiện sau sẽ xảy ra: 

  • Thay đổi chú thích biểu mẫu con và đối tượng nguồn lúc chạy bằng cách gọi phụ ManageFormOptions(). Định tuyến con này được gọi từ nhiều nơi trong dạng này. 
    '

Hủy hoặc Lưu Hành động khi ở chế độ thêm hoặc chỉnh sửa. 

Các biểu mẫu Access của chúng tôi bị ràng buộc.  Điều đó nghĩa là gì?  Từ Microsoft:
"Biểu mẫu 'được liên kết' là biểu mẫu được kết nối trực tiếp với nguồn dữ liệu chẳng hạn như bảng hoặc truy vấn và có thể được sử dụng để nhập, chỉnh sửa hoặc hiển thị dữ liệu từ nguồn dữ liệu đó".

Với biểu mẫu được liên kết, Access không yêu cầu bạn phải "lưu" dữ liệu một cách rõ ràng.  Khi bạn di chuyển từ một bản ghi sang bản ghi tiếp theo Access sẽ tự động lưu dữ liệu của bạn.  Thông thường chỉ hoạt động theo cách bạn muốn.  Nhưng nếu người dùng phải thực hiện một hành động để cho biết họ đã sẵn sàng lưu thì sao? 

Ví dụ: biểu mẫu frmCompanyDetail có một biểu mẫu con cho Liên hệ (sfrmCompanyDetail_Contacts).  Vì vậy, điều gì sẽ xảy ra nếu bạn bắt đầu thêm hoặc chỉnh sửa dữ liệu công ty — giả sử số điện thoại — và tạm dừng để khắc phục lỗi chính tả mà bạn nhận thấy trong thông tin của Liên hệ?  Theo mặc định, Access sẽ lưu mọi thay đổi bạn đã thực hiện trong bản ghi công ty khi bạn bấm vào bản ghi liên hệ, đây không phải điều bạn muốn. 

Trong biểu mẫu này, chúng tôi thể hiện một cách để thực hiện điều này với một bản ghi duy nhất cho Một Công ty.

Lý do khiến nút Hủy gì? Phím escape sẽ hủy bỏ mọi dữ liệu đã nhập hoặc thay đổi (nhưng chưa lưu) trong điều khiển trên biểu mẫu. Ở trạng thái này, biểu tượng bút chì sẽ xuất hiện trong bộ chọn bản ghi (thanh dọc màu xám ở phía ngoài cùng bên trái của hàng).

Tuy nhiên, sau khi bấm vào nút Thêm Công ty, bạn sẽ nhận thấy rằng không có biểu tượng bút chì cho đến khi bạn bắt đầu nhập dữ liệu trong bản ghi công ty mới. Điều gì sẽ xảy ra nếu bạn thay đổi ý định về việc thêm một công ty mới tại thời điểm này? Nếu bạn nhấn phím escape, không có gì xảy ra vì bạn chưa nhập bất kỳ dữ liệu nào. Đó là lý do tại sao chúng tôi có nút hủy.

Bấm vào nút Hủy bỏ luôn hoạt động; phím escape chỉ hoạt động khi bạn đã nhập hoặc thay đổi dữ liệu.  

Nếu bạn bắt đầu thêm hoặc thay đổi dữ liệu, rồi đóng biểu mẫu mà không bấm vào lưu hoặc hủy bỏ, thì theo mặc định Access sẽ lưu dữ liệu.  

Quy tắc Kinh doanh:
Là một quy tắc kinh doanh Northwind dành cho các Công ty, chúng tôi muốn bạn chỉ rõ rằng bạn muốn "Lưu".  Để đảm bảo rằng, chúng ta phải kiểm tra xem người dùng đã bấm lưu trong sự kiện Form_BeforeUpdate chưa và nếu họ không bấm vào lưu, hãy nhắc người dùng cho biết họ muốn lưu hay hủy bỏ thay đổi của mình.
'

Thay đổi Loại Công ty

Quy tắc Kinh doanh: Nếu công ty có sẵn bất kỳ đơn đặt hàng, đơn đặt hàng, hoặc là một nhà cung cấp cho một sản phẩm, người dùng không thể thay đổi loại công ty. Chúng tôi đã tạo một hàm CompanyIsActive(), để xác định xem có tồn tại bất kỳ điều kiện nào ở trên hay không. Nếu họ làm như vậy, người dùng không thể thay đổi loại công ty cho đến khi các tham chiếu này được xóa (xóa). 

Quy tắc này chỉ được thực thi trong biểu mẫu này.  Trong ứng dụng đã sẵn sàng sản xuất, bạn sẽ không cho phép người dùng thay đổi dữ liệu bằng cách mở bảng trực tiếp.  Trong Northwind, chúng tôi cho phép bạn mở bảng và làm bất cứ điều gì bạn muốn.  Đây là một cách tuyệt vời để tìm hiểu, nhưng nó cũng cho phép bạn tự do thực hiện các thay đổi có thể vi phạm quy tắc. 

Bạn nên luôn luôn chương trình phòng thủ. Lập kế hoạch cho những điều không mong muốn. Ngay cả khi Công ty hiện là một Công ty Vận tải hàng hải, điều đó không có nghĩa là tại một thời điểm nào đó họ không phải là một nhà cung cấp hoặc khách hàng. ID của họ có thể được tìm thấy trong các bản ghi cũ hơn trong bảng ProductVendorhoặc PurchaseOrder .
'

Biểu mẫu Hộp thoại Tùy chỉnh.

Để hiển thị kết quả của nó, cboCompanyTypeID_BeforeUpdate sử dụng một biểu mẫu hộp thoại, frmGenericDialog. Đây có thể là giải pháp thay thế tuyệt vời cho hộp thông báo chuẩn khi bạn có nhiều thông tin cần hiển thị. Nó cũng được sử dụng với biểu mẫu nhân viên cho mục đích tương tự.
'Xóa

kiểm tra tính toàn vẹn tham chiếu  

Trong Northwind Starter Edition, chúng tôi cho phép hành vi mặc định của Access thông báo cho bạn rằng một công ty không thể bị xóa khi có các bản ghi liên quan.  

Trong Northwind Developer Edition, chúng tôi thông báo cho bạn trước khi xóa, thay vì chấp nhận hành vi mặc định của Access.  Chúng tôi thực hiện điều đó bằng cách sử dụng cùng một chức năng như chúng tôi đã làm thay đổi loại công ty; CompanyIsActive().

Sự khác biệt là chúng tôi chỉ quan tâm đến Đơn hàng hoặc Đơn đặt hàng. Nếu không có Đơn hàng hoặc Đơn hàng, chúng tôi sẽ xác nhận ý định xóa của bạn và chúng tôi sẽ xóa Nhà cung cấp sản phẩm và Liên hệ nếu chúng tồn tại cho bạn. 

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.

Thông tin này có hữu ích không?

Bạn hài lòng đến đâu với chất lượng dịch thuật?
Điều gì ảnh hưởng đến trải nghiệm của bạn?
Khi nhấn gửi, phản hồi của bạn sẽ được sử dụng để cải thiện các sản phẩm và dịch vụ của Microsoft. Người quản trị CNTT của bạn sẽ có thể thu thập dữ liệu này. Điều khoản về quyền riêng tư.

Cảm ơn phản hồi của bạn!

×