アクセスに関してです。

アクセスで関数を使おうと思います。
BBBBというテーブルにある、CCという行には、
HHH-2A88-0000
というような文字列がはいっています。
この文字列の内、最初のハイフンの後の2文字を抜き出したいです。
つまり、
HHH-2A88-0000 → 2A
です。
そこでアクセスの関数として下記を作りましたが、上手くいきません。

AAAA: Mid([BBBB].[CC],InStr([BBBB].[CC],"-",[,2]))

上記を「フィールド」に入れ、集計の所は「演算」にしていますが
クエリがエラーとなってしまいます。
なぜでしょうか。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/08/29 15:17:22
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:gong1971 No.1

回答回数451ベストアンサー獲得回数70

ポイント50pt

AAAA: Mid([BBBB].[CC],InStr([BBBB].[CC],"-")+1,2)

上記でいかがでしょうか?


追記:
InStr関数は検索文字の開始位置を返すので、ハイフンの次の文字という事だと、+1 が必要になります。

再追記:
当初の回答で最後に余計な ) が入っていたので、修正しました。

id:martytaka

「集計関数の一部として指定された式~を含んでいないクエリを実行しようとしました。」
どこがわるいのでしょうか。
「演算」にしたのがいけないのでしょうか。

2013/08/29 15:12:22
id:martytaka

あ できました!
私が参照先(BBBB)の部分を間違えていたようです。
ありがとうございました。

2013/08/29 15:17:05

その他の回答1件)

id:gong1971 No.1

回答回数451ベストアンサー獲得回数70ここでベストアンサー

ポイント50pt

AAAA: Mid([BBBB].[CC],InStr([BBBB].[CC],"-")+1,2)

上記でいかがでしょうか?


追記:
InStr関数は検索文字の開始位置を返すので、ハイフンの次の文字という事だと、+1 が必要になります。

再追記:
当初の回答で最後に余計な ) が入っていたので、修正しました。

id:martytaka

「集計関数の一部として指定された式~を含んでいないクエリを実行しようとしました。」
どこがわるいのでしょうか。
「演算」にしたのがいけないのでしょうか。

2013/08/29 15:12:22
id:martytaka

あ できました!
私が参照先(BBBB)の部分を間違えていたようです。
ありがとうございました。

2013/08/29 15:17:05
id:taknt No.2

回答回数13539ベストアンサー獲得回数1198

ポイント50pt

Mid([CC],InStr([CC],"-")+1,2)

でいかがでしょうか?

id:martytaka

「FROM句のある複数のテーブルを参照しました」
というエラーがでてしまいます。

2013/08/29 15:13:46
id:taknt

BBBBのテーブルだけで 確認しました。

2013/08/29 15:18:37

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません