if 裡面包含switch

  •   135 
  • 最後發表   凡恩大叔  2024 五月 22
凡恩大叔 發文於   2024/05/17

這樣編譯失敗, 是因為If 裡面含有 Switch嗎?

 

if year(getfieldDate("存貨", "Q")) = year(getfieldDate("月營收", "M")) 

then if month(getfieldDate("存貨", "Q")) = 03

  then Switch (04) 

       Case 04:            x2=3;

排序方式: 標準 | 最新
虎科大許教授 發文於   2024/05/17

不是放在IF裡面的問題,而是你的Switch語法錯誤。

Switch (month(getfieldDate("存貨", "Q"))) 

       Case 04:            

         x2=3

XS小編 發文於   2024/05/22

 Hello 凡恩大叔,

 

switch 需要有 begin 和 end 來框住case。

另外,if year(getfieldDate("存貨", "Q")) = year(getfieldDate("月營收", "M")) then if month(getfieldDate("存貨", "Q")) = 03

其實就跟 if year(getfieldDate("存貨", "Q")) = year(getfieldDate("月營收", "M")) and month(getfieldDate("存貨", "Q")) = 03 相同,不需要寫兩個if。

 

小編會這樣寫比較容易閱讀:

if year(getfieldDate("存貨", "Q")) = year(getfieldDate("月營收", "M")) and month(getfieldDate("存貨", "Q")) = 03 then begin

    switch(04) begin

        case 1 : x2 = 3;

        end;

    end;

 

感謝 虎科大許教授 的熱心回覆。

發表回覆
Close