1

Microsoft Access 2013 を使用して最初の "Web アプリ" を作成し、会社の SharePoint ポータルに公開する作業を行っています。これまでのところうまく機能していますが、他のデータベース ソリューションでは非常に単純な問題であることに頭を悩ませているようには思えません。

仕事のためにクライアントの家に立ち入ろうとする日付のリストがあり、実際に働いた最後の日からの日付だけにリストをフィルターできるようにしたいと考えています。理論的には、これは簡単です。次のように、作業日が今日より前の最大日付に等しいすべてのレコードをクエリするだけでよいからです。

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

ただし、Web アプリは requery where 句でサブクエリをサポートしていないようです。データ マクロを使用しても、MAX などの関数の使用はサポートされていないようです。

ここでやりたいことを Web アプリに実行させる方法はありますか? 私は非常に簡単に「昨日」を取得できます

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

requery where句で、しかし、週末は仕事をしていないので役に立たず、月曜日には機能が役に立たなくなります(金曜日の「​​明日」も同様です)。

4

1 に答える 1

2

許容できるこれに対する解決策を見つけました。

テーブルPrevious Scheduled Dayを参照し、フィールドで集計関数を使用するというクエリを作成しました。Work AttemptMAXWork DateWork Date<Today()

次に、 toGet Previous Work Dayをチェーンするデータ マクロを作成しました( where 句のないクエリを参照します)。SetReturnValLook Up A Record InPrevious Work Day

アクション バーのOnClickアイテムで、最初にデータ マクロを実行し、ローカル変数を に設定しますLastWorkDayRequeryRecords次に、を使用して呼び出します

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

私のwhere句として。

すすぎ、「次の作業日」のために繰り返します。

「前の勤務日の取得」データ マクロは次のようになります。 前の勤務日を取得

「OnClick」アクションは次のようになります。 オンクリック

于 2013-07-09T19:28:19.497 に答える