2016-08-11 29 views
0

の名前を変更し、私の現在の式である:は、組み合わせグループとここ

if left ({Command.NextDueDate},7) = "2016-01" then "January'16" 
else if left ({Command.NextDueDate},7) = "2016-02" then "February'16" 
... 
else if left ({Command.NextDueDate},7) = "2017-01" then "January'17" 

私は2016-01-052016-01-06 ... 2017-01-01のようにフォーマットされた私のデータベースから日付文字列を取ります。私はこれらを列として使用します。

年(16)、月(01)、次の列は年(16)、月(2)を検索したいと思います。月を1月や2月のように短縮した月の名前として解釈したいと思います。最後に、データを一緒に結合したいと思います。だから、最後に、それは次のように動作します:

  • 16 + 01はJan16
  • 16 + 02がFeb16
  • 17 + 01私は手動せずにこれを行うことができますどのようにJan17

なっなっなりました毎年毎月のif-else節を入力しますか?

+0

チェックMONTHNAME機能、私はほとんどこれを忘れてしまいました。 。 –

答えて

0

ハードコードする必要はありません、それ - 月と年を取得するには、この式を使用する:あなたは数式の賢い利用して情報を得ることができたときに

MonthName(Month(CDateTime({Command.NextDueDate}))) + 
    Right(Left({Command.NextDueDate},4),2); 
+0

私は似たようなものを書いています。 (左({Command.NextDueDate}、7)、2)= '01'、次に 'jan' +中央({Command.NextDueDate}、1,4) もしそうなら、 、7)、2)= '02'、 'feb''これはどのように見えるのですか?それは悪いと考えられるだろうか? – PawelBor

+0

@PawelBor私はあなたのコードが必要以上に多くの作業であると考えています。 'if'''''''''''''''や' 'right''と' left'''を使わないほうがはるかに簡単です。 – 4444

0

は、if/else文を使用しないでください。

が短い月名、使用取得するには:あなたはより良いはAnkurの式にすることができ、いくつかの方法がありますMonthName(Month(CDateTime({Command.NextDueDate})),True)
終わりには、「月」、「2月」、「月」に名前を短縮します等々。年を取得するには

、2つの式を組み合わせると、それはあなたのためのすべて作業を行いYear(CDateTime({Command.NextDueDate}))


を使用します。式の

MonthName(Month(CDateTime({Command.NextDueDate})),True) + 
    Year(CDateTime({Command.NextDueDate})) 
関連する問題