- ベストアンサー
アクセスで列合計の方法について
クエリ-で |A|B|A+B| A+Bの合計クエリを作成したいのですが どうしたら良いですか指導願います。 又 文字列なら数字の変換関数も指導願います
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
<TEST> ID___INTEGER_A________INTEGER_B______STRING_A_______STRING_B 1________________10_____________________20_____10___________________20 2_________<NULL>_____________________20____<NULL>____________20 3__________________0______________________0_____100000000.001___100000000.001 例えば、このようなテーブルがあったとします。 <クエリ1> IINTEGER_WA__________STRING_WA ________________30_______________________30 ________________20_______________________20 __________________0______200000000.002 このような結果を得るクエリを[SQLビュー]で表示すると、 SELECT NZ([INTEGER_A])+NZ([INTEGER_B]) AS INTEGER_WA, Val(NZ([STRING_A],'0'))+Val(NZ([STRING_B],'0')) AS STRING_WA FROM TEST; ですから、 SELECT NZ([A])+NZ([B]) AS WA FROM TEST; または、 SELECT Val(NZ([A],'0'))+Val(NZ([B],'0')) AS WA FROM TEST; 文字列に対応する数値の型が既知であれば、CINT()、CLNG()、CDBL() を使えば宜しいと思います。
その他の回答 (1)
- temtecomai2
- ベストアンサー率61% (656/1071)
テーブル名が tableName、A が長整数型の列で B が文字列型の列だとして SELECT A, B, A + CLng([B]) AS hoge FROM tableName てところでしょうか。 hoge は適当な名前にしてください。 実行した時に表示される表の列名は左から A、B、hoge になります。 もし B に「数値に変換できない文字」や「Null」が入る可能性があるのであれば SELECT A, B, IIf(IsNumeric([B]), [A] + CLng([B]), [A]) AS hoge FROM tableName とすれば、IsNumeric で B の値を数値として評価できるか判断し、数値として使えれば A + B の結果を出し、数値として使えない場合は A の値をストレートに出すようにできます。 IsNumeric や IIf についてはご自分でお調べください。
お礼
有難うございました