2017-05-02 1 views
-1

특정 고객에 대한 마지막 인보이스의 송장 행을 제공하는 쿼리가 있습니다. 모양은 다음과 같습니다.MS Access, VBA, SQL ... 인보이스 찾아보기 방법

SELECT * FROM invoicelines WHERE clientID = [forms]![frmClient]![txtClientID] GROUP BY invoice# HAVING DateSold = SELECT MAX(DateSold) FROM invoicelines WHERE clientID = [forms]![frmClient]![txtClientID] 

고객의 가장 최근 인보이스를 반환합니다.

내가 추가하고 싶은 것은 두 번째 가장 최근의 인보이스, 세 번째 인보이스를 볼 수있는 버튼입니다.

나는 그게 복잡하지 않다는 것을 알고 있지만, 놀랍게도 꽤 오래 동안 생각해 보았습니다.

감사합니다. 그냥 고유해야합니다

이 (송장의 항목 제외) 고유 송장 열을 선택하는 쿼리를 확인합니다 (: 당신이 작업 할 수있는 데이터의 훨씬 더 시각적 표현에 대한

+0

Max (DateSold)로 레코드를 선택하는 대신, DateSold 내림차순으로 주문한 다음 첫 번째, 두 번째, 세 번째 등의 적절한 레코드를 선택할 수 있습니까? – YowE3K

+0

실제로 그런 종류의 요구 사항으로 필터링하는 것은 다소 복잡합니다. 나는 YowE3K에 동의하며, 단순히 DESCENDING 순서로 레코드를 나열한 콤보 박스 나리스트 박스 또는 폼을 가지고 원하는 것을 선택하십시오. – June7

+0

이 솔루션은 효과가 있지만 인보이스 라인은 실제 송장을 함께 구성합니다. 과거의 인보이스를 찾아보고 팔린 모든 아이템의 완전한 DESC 목록 대신에 이전의 구매에 대한 정신적 인 이미지를 갖고 싶습니다. 목록에 있으면 각 인보이스를 정신적으로 분리하기가 어렵습니다. –

답변

0

다음 단계를 사용하여 양식을 작성 FIELDS !!)

Select distinct [invoiceDate], [invoiceTo], [InvoiceAddress], [etc] FROM [invoicelines] 

이제 쿼리를 저장하고 강조 표시하십시오. 그런 다음 바운드 폼을 만들어 저장하십시오. (데이터 시트의 기본 폼보기로)

이제 기본 테이블을 기반으로 두 번째 양식을 작성하십시오. 저장해.

디자인보기에서 첫 번째 폼으로 돌아갑니다.

작성한 두 번째 양식을 첫 번째 양식에 하위 양식으로 포함하십시오.

하위 양식의 속성으로 이동하여 [링크 마스터 필드] (기본 양식 [InvoiceNo]/[하위 필드 연결] (하위 양식 [InvoiceNo])를 다음과 같이 설정합니다. 하위 양식 (양식 기본보기가 단일 양식인지 확인하십시오.)

이제 기본 양식의 레코드를 변경하면 모든 항목이 표시되므로 특정 양식의 기본 양식을 자유롭게 필터링 할 수 있습니다/위치/날짜 등

+0

나는 나중에 기회가있을 때 그것을 시도 할 것이다. 답장을 보내 주셔서 감사합니다 –