みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

MicroSoft Accessのクエリ 検索方法について

お世話になります。
MicroSoftAccessのクエリ検索方法について質問があります。

クエリを新規で作成し、下記のようなテーブルのデータの内 必要なデータの抽出を行いたいと考えています。
例)※三角は、Nullです。
<テーブル>
(1) AAA△△△BBB
(2) CCC△DDD
(3) AAABBBCCC△△△△ABCDE△F
(4) A△BC
上記のようなデータがあったとして、抽出希望のデータは
(1)' AAA
(2)' CCC
(3)' AAABBBCCC
(4)' A
(1)'(2)'(3)'(4)'のようなデータを抽出したいとおもっています。

TRIM関数等使えば、頭の△・最後の△は消せるのですが
今回の希望するデータを取ることができません。

ご面倒かけ申し訳ありませんが、アドバイス頂けたらうれしいです。
あまりVBA等詳しくない為、クエリでの指定・関数等教えて下さい。

よろしくお願い致します。

投稿日時 - 2008-12-12 13:15:23

QNo.4549626

すぐに回答ほしいです

質問者が選んだベストアンサー

char(0)をデータ間に組み込むのは通常は至難。
スペースのことでしょうね。

1) AAA△△△BBB
(2) CCC△DDD
(3) AAABBBCCC△△△△ABCDE△F
(4) A△BC

[イミディエイト]
? CutStr("AAA BBB CCC", " ", 1)
AAA
? CutStr("AAA BBB CCC", " ", 2)
BBB
? CutStr("AAA BBB CCC", " ", 3)
CCC

ならば、以下のようなCutStr関数で切り取れます。

Public Function CutStr(ByVal Text As String, _
            ByVal Separator As String, _
            ByVal N As Integer) As String
  Dim strDatas() As String
  
  strDatas = Split("" & Separator & Text, Separator, , 0)
  CutStr = strDatas(N * Abs((N <= UBound(strDatas))))
End Function

標準モジュールに登録し、[共通ライブラリ関数]などの名前と付けて保存してお使いください。

? CutStr("This is a pen.", "is", 1)
This
? CutStr("This is a pen.", "is", 2)
a pen.

投稿日時 - 2008-12-12 13:49:11

お礼

>スペースのことでしょうね。
はい その通りです。間違えてましてた。。

なんとなく程度しか教えて頂いた内容が理解できていませんが
こういうのもきっかけだと思いますので、一度勉強したいと
思います。

只今回は、急ぎでデータが欲しいといわれていることもありつつ
データ的にも、数千行程度でしたので、Mid関数 Mid([テーブル名],1,12)のような条件で検索して、残ってしまったものは強引に手動で削除しちゃいました。

教えて頂いた内容を含めて、再度確認をしたいと思います。
忙しい所 アドバイスありがとうございました。

投稿日時 - 2008-12-12 17:13:56

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問