ASPで「型が一致しません」

Dim amount
amount = 0


'中略 xにはDBから取得した数値
add(x)

Sub add(x)
  amount = amount + x
End Sub

■原因
こんなようなことを仕様としたら「型が一致しません」というエラーがでた。
ASP(VBScript)ではadNumericの計算で上記のエラーが起こるらしい。

■対策
CInt()なりCDbl()なりで変換してから計算する。

Dim amount
amount = 0


'中略 xにはDBから取得した数値
add(x)

Sub add(x)
  amount = CInt(amount) + CInt(x)
End Sub


参考: Microsoftサポート
http://support.microsoft.com/kb/195180/ja