2013-07-08 1 views
1

저는 Microsoft Access 2013을 사용하여 첫 번째 "웹 응용 프로그램"을 만들고이를 회사의 SharePoint 포털에 게시하려고합니다. 지금까지는 탁월하게 작동했지만 다른 모든 데이터베이스 솔루션에서 매우 간단한 문제가 될 것이라는 생각으로 내 머리를 감싸는 것처럼 보일 수 없습니다.Access Web App where 절에서 하위 쿼리를 사용하려면 어떻게해야합니까?

나는 일자리를 얻으려는 시도에 대한 날짜 목록을 가지고 있으며 실제로 일한 마지막 날의 날짜로만 목록을 필터링 할 수 있기를 원합니다.

그러나
[Work Date] = (
    SELECT MAX([Work Date]) 
    FROM [Work Attempt] 
    WHERE [Work Date] < Today() 
) 

, 웹 응용 프로그램들이 다시 쿼리 곳에서 서브 쿼리를 지원하지 않는 것 : 그냥 작업 날짜처럼, 오늘날보다 적은 최대 날짜에 해당하는 모든 레코드를 조회 할 수 있기 때문에 이론적으로이 쉽다 절. 데이터 매크로를 사용해도 MAX와 같은 기능을 사용할 수있는 것은 아닙니다.

웹 응용 프로그램에서 여기에서 원하는 작업을 수행 할 수있는 방법이 있습니까? 나는 아주 쉽게 WHERE 절을 다시 쿼리에

[Work Attempt].[Work Date] = DateAdd(Day, -1, Today()) 

을 넣어 "어제"얻을 수 있지만, 우리는 주말을 작동하지 않기 때문에 그것은 나에게 도움이되지 않으며, 함수는 (마찬가지로위한 월요일에 쓸모가된다 금요일에 "내일").

+1

이 두 가지 별도의 쿼리를 사용하십시오. 첫 번째 쿼리에서 두 번째 쿼리 (원하는 작업 날짜 포함)를 참조 할 수 있습니다. 또는 [DMAX 기능] (http://www.techonthenet.com/access/functions/domain/dmax.php)을 사용하여 작업 날짜를 얻으십시오. –

+0

dmax가 웹 앱에 존재하지 않는다고 생각하지만 잘못된 것일 수 있습니다. –

+0

Access 쿼리를 사용하고 있습니까? –

답변

2

허용되는 해결책을 발견했습니다.

나는 <Today()에 데이터를 제한하는 데 사용 Work Date의 두 번째 숨겨진 인스턴스 내 Work Attempt 테이블을 참조하고 Work Date 필드에 집계 함수 MAX를 사용 Previous Scheduled Day라는 쿼리를 만들었습니다.

는 그때를 이은 SetReturnVal (where 절 없음으로 Previous Work Day 쿼리를 참조) Look Up A Record In- Get Previous Work Day 매크로 데이터를 만들었습니다.

내 작업 표시 줄에 대한 OnClick 항목에서 먼저 로컬 매크로를 LastWorkDay으로 설정하여 데이터 매크로를 실행합니다. 그런 다음 을 사용하여

[Work Attempt].[Work Date]=[LastWorkDay] 

을 my where 절로 부릅니다.

린스하고 "다음 작업 일"에 대해 반복하십시오.

여기에 무엇을 내 같은 데이터 매크로 외모 "이전 직장 날 가져 오기": Get Previous Work Day

여기 내 "의 OnClick"동작의 모습입니다 : OnClick