2012-01-04 59 views
2

我在Access 2007中有Excel導出。我不完全確定的唯一的事情是我的值看起來像一個年齡,例如「1-3」,這顯然變得更高依賴於顧客選擇。訪問IIf語句來提取值

我想要兩個IIf語句:一個選擇「 - 」之前的數據和一個之後的「 - 」,誰能幫忙?

+1

你的意思是你有一個包含「1-3」的列,你想要與輸入「1」,「2」或「3」匹配嗎?如果是這樣''fldFrom | fldTo'會更好 – 2012-01-04 13:37:46

+0

嗨,亞歷克斯是它的包含「1-3,並在出口我想要在兩個separte編號在一個coloum數字1和在另一個coloum數字3 – LENBERT88 2012-01-04 13:39:09

回答

0
IIf(IsNull([strAge]),"",Left([strAge],InStr(1,[strAge],"-")-1)) 

IIf(IsNull([strAge]),"",Mid([strAge],InStr(1,[strAge],"-")+1)) 
2

你可以

select 
    T.agerange, 
    iif(agerange is null, "", left(agerange,instr(agerange,"-")-1)), 
    iif(agerange is null, "", mid(agerange,instr(agerange,"-")+1)) 
from T; 

然而2柱設計是遠遠優於。

+0

什麼上面應返回1 -3,1,3'? – 2012-01-04 14:12:45

+0

我已更新允許空值,這將適用於xxx-xxx格式,如果它不需要提供更多詳細信息,爲什麼 – 2012-01-04 14:30:55

+0

IIf(IsNull([strAge]), (「strAge」,InStr(1,[strAge],「 - 」) - 1)) – LENBERT88 2012-01-04 15:03:36