人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

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

●質問者: martytaka
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● gong1971
●50ポイント ベストアンサー

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

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


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

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


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

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

2 ● きゃづみぃ
●50ポイント

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

でいかがでしょうか?


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

きゃづみぃさんのコメント
BBBBのテーブルだけで 確認しました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ