簡體   English   中英

查詢Dynamics AX中的日期范圍

[英]Date range in query Dynamics AX

我想建立查詢范圍,在哪里

在此處輸入圖片說明

ActiveTo <今天|| ActiveFrom>今天。

是否有可能,我嘗試了類似的方法,但是它不起作用。

qbdsDimAttrValue = ds.addDataSource(tableNum(DimensionAttributeValue));
qbrMainAccountActiveFrom = qbdsDimAttrValue.addRange(fieldnum(DimensionAttributeValue,ActiveFrom));
qbrMainAccountActiveFrom.value(strFmt('(((%1.%2 != 0) || (%1.%3 != 0)) && ((%1.%2 > %4) || (%1.%3 < %4)))',   
            qbdsDimAttrValue.name(),
            fieldStr(DimensionAttributeValue,ActiveFrom),
            fieldStr(DimensionAttributeValue,ActiveTo),
            today(),
            ));

我寫0,因為在表DimensionAttributeValue中,如果字段ActiveFrom,ActiveTo為null,則其值為0,而不是dateNull(),dateMax()

在此類查詢中使用的日期值必須為dd\\MM\\yyyy格式-為此,您可以使用函數date2StrXpp()

嘗試使用以下范圍:

qbrMainAccountActiveFrom.value(
    strFmt('((%1.%2 > %4) || ((%1.%3 < %4) && (%1.%3 != %5)))',
            qbdsDimAttrValue.name(),
            fieldStr(DimensionAttributeValue, ActiveFrom),
            fieldStr(DimensionAttributeValue, ActiveTo),
            date2StrXpp(systemDateGet()),
            date2StrXpp(dateNull())
            ));

如果選中Global::dateNull() ,則會看到它返回“ 01 \\ 01 \\ 1900”,並且您還可以看到數據庫在這些字段中未存儲0: 在此處輸入圖片說明

您可以在這里找到更多詳細信息

因此,您可以按以下方式簡化擴展范圍

qbrMainAccountActiveFrom.value(strFmt('((%1.%2 > %4) || (%1.%3 < %4))',   
                               qbds.name(),
                               fieldStr(DimensionAttributeValue, ActiveFrom),
                               fieldStr(DimensionAttributeValue, ActiveTo),
                               today()
                               ));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM