Microsoft로 로그인
로그인하거나 계정을 만듭니다.
안녕하세요.
다른 계정을 선택합니다.
계정이 여러 개 있음
로그인할 계정을 선택합니다.

Northwind Developer Edition에서 주문 관리에 대해 알아보려면 아래 항목을 선택합니다. 

Northwind Orders 샘플 애플리케이션의 이 Developer Edition은 Starter Edition보다 더 고급입니다. 데이터베이스 스키마(사용되는 테이블)에서 확장되며 이제 추가 고급 기능을 제공합니다. 여기서 의도는 특정 비즈니스를 운영하는 것이 아니라 Microsoft Access의 기능을 소개하는 것입니다.

  • 주문 목록은 리본에서 사용할 수 있습니다. 여기에는 몇 가지 필터 옵션과 각 주문을 여는 하이퍼링크가 있습니다.

  • 주문 목록과 리본 메뉴에는 새 빈 주문을 여는 주문 추가 단추가 있습니다.

  • 새 주문 양식의 드롭다운에서 기존 고객을 선택합니다. 이때 직원 이름과 상태 선택됩니다. 주문 날짜도 이미 입력되어 있습니다. 세율은 SystemSettings 테이블에서 읽고, 세금 상태는 고객 레코드에서 기본값입니다.

  • 새 주문 및 구매 주문은 리본 메뉴의 MRU(가장 최근에 사용한) 목록에 추가됩니다. 이 문서의MRU 목록 섹션을 통해 자세히 알아보세요. 

  • 현재 배송 날짜유료 날짜를 비워 둡니다.

  • 새 고객에 대한 주문을 추가하려면 회사 이름을 입력하고 탭아웃합니다. 회사 세부 정보 양식이 열리고 새 고객 레코드가 완료됩니다. 그런 다음, 닫고 주문을 계속합니다. 이제 새 회사가 고객 드롭다운에 있게 됩니다.

  • 주문에 항목을 추가하려면 이 주문에 대한 제품 범주제품을 선택하고 수량을 입력합니다. 단가가 채워지고 가격은 식으로 계산됩니다.

  • 주문 상태를 발전시키고 주문 양식 맨 위에 있는 단추를 사용하여 New > Invoiced > 배송 > 닫힘 에서 워크플로를 통해 주문을 이동합니다.

  • 청구서는 제품이 해당 주문에 할당된 경우에만 발생할 수 있습니다. 품목이 재고 없음 또는 주문 상태 있는 경우 유효성 검사 오류가 발생합니다. 사용자는 해당 제품에 대한 구매 주문을 만들고 받을 수 있으며 상태 주문 항목이 할당됨으로 조정됩니다.

  • 주문을 발송하려면 운송업체 배송료 를 입력해야 합니다. 이 작업을 잊어버린 경우 유효성 검사 오류가 발생합니다. 배송비는주문 합계에 추가됩니다.

  • 언시핑된 주문은 주문 삭제 단추를 사용하여 삭제할 수 있습니다.

  • 주문이 상태 지나면 주문 품목을 수정할 수 없습니다.

  • Northwind Starter 버전에서는 주문 프로세스가 매우 간단합니다(예: 인벤토리는 항상 사용할 수 있고, 실행되지 않으며, 구매할 필요가 없음). 이제 이 Dev Edition에서 보다 현실적인 프로세스는 적어도 몇 가지 문제를 해결합니다. 실제 애플리케이션을 구현하는 것이 아니라 Access 기능 및 모범 사례를 보여 줍니다. 

  • 여기에서 실제 애플리케이션을 구현하지 않는다는 증거에는 날짜의 유효성이 검사되지 않는다는 사실이 포함됩니다. 따라서 주문 날짜 이전 의 배송 날짜와 같은 비논리적 날짜를 입력할 수 있습니다. 

이 섹션에서는 주문 양식 frmOrderDetails의 주목할 만한 구현 세부 정보를 다룹니다.

주문 양식은 간단한 쿼리 qryOrder 에서 해당 데이터를 가져옵니다( RecordSource 속성 참조). 간단한 단일 테이블 쿼리에 데이터 입력 양식을 기반으로 하는 것이 가장 좋습니다. 이 쿼리에 OrderDetails 테이블을 포함할 필요는 없습니다. 주문 세부 정보는 하위 폼에서 처리됩니다.

OrderList 양식은 Order 양식의 여러 인스턴스를 열 수 있습니다. 이는 영업 담당자가 많은 중단을 처리하고 첫 번째 주문을 작업하는 동안 다른 주문을 열거나 세 번째 주문과 비교해야 할 수 있기 때문에 편리합니다. 이 기술은 여기에 설명되어 있습니다.

다양한 ID 필드는 숨겨진 ID 열과 표시되는 Description 열의 두 열 콤보박스에서 해당 값을 가져옵니다. 이러한 콤보박스는 간단한 두 열 쿼리에 바인딩됩니다. RowSource 속성을 참조하세요.

워크플로 단추에는 사용자가 주문을 1에서 4로 진행하도록 강제하는 비즈니스 논리가 연결되어 있습니다. Northwind 개발 팀은 일부 회사에서 다른 규칙을 사용할 수 있다는 것을 알고 있습니다. 그러면 단추 클릭 이벤트에 대해 다른 구현이 수행되고 주문이 명확한 시기와 주문을 삭제할 수 있는 시기를 다시 고려하게 됩니다.

하위 폼 sfrmOrderDetails는 더 복잡한 쿼리에 바인딩됩니다. 그 이유는 아래의 Cascading Comboboxes 섹션에서 설명합니다. 행이 저장되고 더 강력한 데이터베이스 쿼리를 실행할 수 있는 경우 Form_AfterUpdate 이벤트에서 인벤토리를 검사.

ProductCategory 및 Product는 연계 콤보박스입니다. 첫 번째(ProductCategory)에서 선택하면 다음 항목이 일치하는 자식 제품 레코드로 좁혀집니다. 여기서 사용되는 기술은 아래에 자세히 설명되어 있습니다.

레코드를 저장할 때 필요한 필드를 입력해야 합니다. Starter 버전에서는 Access 기본 동작이 수행되도록 합니다. 이 Dev Edition에서는 보다 사용자 친화적인 기술이 구현됩니다. 여기서 사용되는 기술은 아래에 자세히 설명되어 있습니다.

각 주문 품목에 대해 사용 가능한 인벤토리가 선택되고 그에 따라 상태 설정됩니다. 이 기능의 기본 개념은 여기에 설명되어 있습니다.
 

계단식 콤보박스

제품 범주 및 제품 드롭다운을 Cascading Comboboxes로 구현하는 것은 Access에서 이 기능을 기본적으로 지원하지 않기 때문에 까다롭습니다. 이 기술에는 다음 네 단계가 필요합니다.

양식은 연속 양식 모드(데이터시트가 아님)에 있어야 합니다. 텍스트 상자는 각 콤보 상자의 텍스트 부분과 겹치며 드롭다운 화살표만 표시됩니다. 

폼의 레코드 원본 쿼리인 qryOrderLineItems는 평소에 OrderDetails 테이블을 사용하지만 Products 및 ProductCategories 테이블과 조인하여 ProductName 및 ProductCategoryName을 선택합니다. 두 개의 겹치는 텍스트 상자는 이러한 필드에 바인딩됩니다.

Products 콤보박스의 RowSourcecboProductCategories 를 다시 확인하여 해당 콤보 상자에서 선택한 범주에 대한 제품만 반환합니다. "[Form]! 구문에 유의하세요. 조건 식의 [cboProductCategories]"는 명시적 Forms보다 더 유연합니다 . FormName! 이름으로 하나의 폼을 참조하는 ControlName 구문입니다.

언바운드 ProductCategories 콤보박스에서 제품 범주를 선택한 후 AfterUpdate 이벤트는 Products 콤보박스를 목록의 첫 번째 값으로 설정합니다. 그러면 양식의 RecordSource에 새 행이 만들어지며, 이 행은 겹치는 텍스트 상자로 표시될 수 있도록 CategoryName 을 채웁니다.
 

유효성 검사

Northwind Dev 버전에서 구현된 유효성 검사 코드를 사용하려면 다음 3줄의 코드만 사용합니다.

  • Form_BeforeUpdate:
       Cancel = ValidateForm(Me)

  • Form_AfterUpdate 및 Form_Current:
        ValidateForm_RemoveHighlights 내

코드를 매우 자체 포함되도록 만드는 것은 모든 곳에서 쉽게 구현할 수 있기 때문에 따라야 하는 좋은 패턴입니다. 예를 들어, 전문 개발자는 양식 서브클래싱을 사용하여 이를 더욱 발전시킬 수 있습니다. (이는 Northwind Dev의 목표를 초과합니다.)

양식 개체가 자체 포함된 유효성 검사 코드에 전달되어 유효성을 검사합니다. 그런 다음 기본 RecordsetClone Fields 컬렉션을 검사하여 필요한 필드에 바인딩된 컨트롤을 확인하고 값이 있는지 확인합니다. 그렇지 않으면 강조 표시됩니다.

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.

이 정보가 유용한가요?

언어 품질에 얼마나 만족하시나요?
사용 경험에 어떠한 영향을 주었나요?
제출을 누르면 피드백이 Microsoft 제품과 서비스를 개선하는 데 사용됩니다. IT 관리자는 이 데이터를 수집할 수 있습니다. 개인정보처리방침

의견 주셔서 감사합니다!

×