アクセスで関数を使おうと思います。
BBBBというテーブルにある、CCという行には、
HHH-2A88-0000
というような文字列がはいっています。
この文字列の内、最初のハイフンの後の2文字を抜き出したいです。
つまり、
HHH-2A88-0000 → 2A
です。
そこでアクセスの関数として下記を作りましたが、上手くいきません。
AAAA: Mid([BBBB].[CC],InStr([BBBB].[CC],"-",[,2]))
上記を「フィールド」に入れ、集計の所は「演算」にしていますが
クエリがエラーとなってしまいます。
なぜでしょうか。
AAAA: Mid([BBBB].[CC],InStr([BBBB].[CC],"-")+1,2)
上記でいかがでしょうか?
追記:
InStr関数は検索文字の開始位置を返すので、ハイフンの次の文字という事だと、+1 が必要になります。
再追記:
当初の回答で最後に余計な ) が入っていたので、修正しました。
AAAA: Mid([BBBB].[CC],InStr([BBBB].[CC],"-")+1,2)
上記でいかがでしょうか?
追記:
InStr関数は検索文字の開始位置を返すので、ハイフンの次の文字という事だと、+1 が必要になります。
再追記:
当初の回答で最後に余計な ) が入っていたので、修正しました。
「集計関数の一部として指定された式~を含んでいないクエリを実行しようとしました。」
どこがわるいのでしょうか。
「演算」にしたのがいけないのでしょうか。
あ できました!
私が参照先(BBBB)の部分を間違えていたようです。
ありがとうございました。
Mid([CC],InStr([CC],"-")+1,2)
でいかがでしょうか?
「FROM句のある複数のテーブルを参照しました」
というエラーがでてしまいます。
BBBBのテーブルだけで 確認しました。
「集計関数の一部として指定された式~を含んでいないクエリを実行しようとしました。」
2013/08/29 15:12:22どこがわるいのでしょうか。
「演算」にしたのがいけないのでしょうか。
あ できました!
2013/08/29 15:17:05私が参照先(BBBB)の部分を間違えていたようです。
ありがとうございました。