Webデータベースの場合、日付書式や関数に制限がある。SharePoint上で動作するのだから、これはやむを得ない。だけど何とかしたいことがある。
クライアントデータベースの場合、Format(
Date,"yyyy/mm/dd (ddd)")やFormat(
Date,"ww") とかできるのだけど、これができない。これらを実現しようとする場合、集計フィールド/データマクロ/クエリでやりくりしよう。
|
Format(date,"ww")の代替案 |
|
Format(date,"yyyy/mm/dd (ddd)")の代替案 |
|
クエリでもよし |
|
データマクロを関数のように使う |
|
呼び出し例 |
<?xml version="1.0" encoding="UTF-16" standalone="no"?>
<DataMacros xmlns="http://schemas.microsoft.com/office/accessservices/2009/11/application">
<DataMacro Name="GetFormatDate">
<Parameters>
<Parameter Name="paramDate" Description="日付" />
</Parameters>
<Statements>
<Action Name="SetReturnVar">
<Argument Name="Name">rtnGetFormatDate</Argument>
<Argument Name="Value">FormatDateTime(Int([paramDate])) & " (" & Choose(Weekday([paramDate],1),"Sun","Mon","Tue","Wed","Thu","Fri","Sat") & ")"</Argument>
</Action>
</Statements>
</DataMacro>
</DataMacros>
<?xml version="1.0" encoding="UTF-16" standalone="no"?>
<DataMacros xmlns="http://schemas.microsoft.com/office/accessservices/2009/11/application">
<DataMacro Name="GetWeekNum">
<Parameters>
<Parameter Name="paramDate" Description="日付" />
</Parameters>
<Statements>
<Action Name="SetReturnVar">
<Argument Name="Name">rtnGetWeekNum</Argument>
<Argument Name="Value">Int(([paramDate]-DateSerial(Year([paramDate]),1,1)+(Weekday(DateSerial(Year([paramDate]),1,1))-1))/7)+1</Argument>
</Action>
</Statements>
</DataMacro>
</DataMacros>
0 件のコメント:
コメントを投稿