這有點難以填寫背景資料。我使用的軟體只能識別mm/yyyy或m/yyyy格式的固定日期,但它可以從MS Access的表格中讀取鏈接日期。在程式中,你可以選擇將Access的鏈接日期轉換為軟體中存盤的固定日期。當它轉換為固定值時,它可以用幾種不同的方式來寫日期,但給我帶來麻煩的是當它用這兩種格式 "m/dd/yyyy "或 "mm/d/yyyy "來寫時,因為這兩種格式的長度都是9。 下面的代碼是我如何處理其他長度為6、7、8或10的格式。我只注意到長度為9的錯誤,因為我最后遇到了一個情況,它把日期寫成了 "m/dd/yyyy",這在軟體中引起了錯誤,因為我的查詢把日期 "糾正 "為 "m//yyyy "格式。我無法控制它如何書寫日期。軟體公司知道這個問題,并在下一次更新中解決這個問題,但我不知道什么時候會推出,所以在那之前我需要一個變通方法。
使用下面的方法將回傳 "m//yyyy "或 "mm/yyyy"。我怎樣才能讓它選擇處理 "m/dd/yyyy "格式來輸出 "m/yyyy",而不是有兩個反斜線?這不是我的代碼,是這里的人在回答以前的問題時寫的。我對任何編程語言都不是很在行,但我對函式有基本了解。
IIf(Len([Expression])=6, "0" & [Expression] 。
IIf(Len([Expression])=7, [Expression],
IIf(Len([expression])=8,Left([expression],1) & "/" & Right([expression],4) 。
IIf(Len([expression])=9,Left([Expression],2) & "/" & Right([expression],4) 。
IIf(Len([expression])=10,Left([Expression],2) & "/" & Right([expression],4)))))))
我的猜測是包括一個嵌套的AND函式或類似的東西,但我不知道如何讓它正常作業,然后我不得不做一些類似IfElse陳述句的事情來處理 "mm/d/yyyy "格式。我相信有一個更有效的方法來解決這個問題,我希望得到一個真正知道自己在做什么的人的幫助,而不是讓我在接下來的一個月里摸索著在桌子上敲打我的腦袋。
If Len[Expression]=9 AND Left[Expression] 。 2 = "/", Left([Expression],1) & "/" & Right([Expression],4) Else Left([Expression] 。 2) & "/" & Right([Expression],4)
uj5u.com熱心網友回復:
嘗試為長度為9個字符的專案添加一個替換函式:
IIf(Len([expression])=9, Replace(Left([expression],2) & "/" & Right([expression],4), "//","/") 。
uj5u.com熱心網友回復:
總是將日期和時間作為Date來處理,而不是Text,不是數字,沒有例外。
因此,格式化你的真實日期值(你可以讀取的值)為所需的文本格式:
TextMonthYear = Format([YourTrueDate], "mm/yyyy"/span>)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/314453.html
標籤:
