0

コンパイルして実行するクエリがありますが、フィールド値の一部が '#Num!' です。セルにゼロを返すエラーが含まれているかどうかを Access に知らせるにはどうすればよいですか? 私は試した

IIF(Column Is Null,0,Column)しかし、それは機能しませんでした..または、適切に使用しなかったのでしょうか?

これが私のクエリです

SELECT qb1.CompanyName, qb1.AssetName, qb1.Year, 
       Round(((CDbl(qb1.DatapointValue)/CDbl(qb2.MPPGas))*100),0) AS AnnualSDGAS
FROM PEBaseQuery AS qb1 
INNER JOIN PE_Field_MPPGasRevisedMarketRemoved AS qb2 
    ON (qb1.Year=qb2.Year) 
    AND (qb1.AssetName = qb2.AssetName) 
    AND (qb1.CompanyName = qb2.CompanyName)
WHERE qb1.DatapointID=2035;
4

1 に答える 1

1

IsNumeric()を使用して、値が数値かどうかを確認できます。

SELECT IIF(ISNUMERIC(columnName), columnName, 0)
FROM ....

IsNumeric() の例:

IsNumeric (786)                 would return TRUE
IsNumeric ("Tech on the Net")   would return FALSE
IsNumeric ("234")               would return TRUE

あなたのクエリから、私はこの行を見つけました

CDbl(qb1.DatapointValue) / CDbl(qb2.MPPGas)

qb2.MPPGas ゼロ除算エラーを避けるために、この列には注意してください。


  • 質問があります。数値をテキスト (または文字列) としてデータベースに保存していますか?
于 2012-08-30T09:27:43.600 に答える