【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】

以下のようなテーブルがあったとします。
ファイル名,絶対パスを含むファイル名,スペースで区切られたkeyワードの羅列(メモ型)をそれぞれField_a,Field_b,Field_cとします。

この時に、Field_cをある語句(複数)で検索してマッチするものがあれば、そのレコードの内容を表示させる。更にその絶対パスを含むファイル名(Excel)をクリックすればExcelのデータを表示させたいのですが。

A 回答 (2件)

> Field_cをある語句(複数)で検索してマッチするものがあれば、そのレコードの内容を表示させる。



これにはクエリを使用します。
以下、Access2003での操作手順です:
1)Accessのメニューで、「挿入(I)→クエリ(Q)」を選択するなどして、『新しいクエリ』ダイアログを開く
2)上記ダイアログで「デザインビュー」を選択して、『OK』ボタンをクリック
3)『テーブルの表示』ダイアログが開くので、当該テーブルをダブルクリックするなどして追加した後、
 『閉じる(C)』ボタンをクリックして、同ダイアログを閉じる
4)クエリのデザインビューの上半分の領域に表示された、指定したテーブルのフィールド一覧から、
 「*」と「Field_c」をそれぞれダブルクリックするなどして、下半分の領域に追加
5)下半分の領域に『表示』チェックがあるので、「Field_c」のものだけチェックを外す
 (「*」は全フィールドを表示するためのものなので、上記チェックをつけたままだと「Field_c」が
  重複してしまうため)
6)「Field_c」の『抽出条件』欄に、以下のような式を入力
 ・クエリ実行時にパラメータダイアログが表示される形でよい場合:
  Like "*" & [検索条件は?] & "*"
 ・『MF1』フォームの『検索条件』テキストボックスの値を参照する場合:
  Like "*" & Forms!MF1!検索条件 & "*"
 ※ここでの「*」は曖昧検索にするためのワイルドカード文字で、「4)」での「*」とは別物です。
7)適当な名前をつけて保存

・・・以上です。

検索結果をフォームとして表示したい場合は、上記クエリをレコードソースとして、新規フォームを
作成してください。

【確認】
上記の式では、指定した条件に部分一致したものが抽出されることになります。
(Field_cのデータに「aaa bbb ccc」と「aa bb cc」がある状態で、検索条件に「aa」を指定すると、
 双方が抽出される: 検索条件指定後の式が、「Like "*aa*"」(=「aa」を含むもの)になるため)
スペース区切りの各Keyワードに完全一致した時に限定する場合は、「Like」の隣の「"*"」は
右側にスペースを追加して「"* "」に、右端の「*」は左側にスペースを追加して「" *"」にした上で、
当該テーブルのField_cに記録されたデータについても、左右の両端にスペースを追加しておく
必要があります。
(検索条件に「bb」を指定したとき、実際の式は「Like "* bb *"」(=「 bb 」を含むもの)となるため、
 「bbb」を合致させずにおくことができるようになります。
 また、データの両端に予めスペースを追加するのは、検索条件に「aa」を指定した場合に、
 式が「Like "* aa *"」となり、「aa bb cc」のままではスペースの不足により非該当となるのを
 防ぐためです)


> 更にその絶対パスを含むファイル名(Excel)をクリックすればExcelのデータを表示させたい

こちらについては、テーブルのデザインビューを開いて、Field_bのデータ型を「テキスト型」から
「ハイパーリンク型」にしてやるのが最も簡単です。
(現在のデータが、ハイパーリンク型とするために必要な形に自動的に変換されます)

この回答への補足

はじめてのAccessヨロヨロしながらも動かすことができました。
感謝です。きっかけを与えていただき本当にありがとうございました。

補足日時:2010/01/27 09:13
    • good
    • 0
この回答へのお礼

大変、丁寧な解説ありがとうございます。
Accessについては住所録作成などのサンプルを読んだくらいの知識しかないのですが、きっかけを教わりトライしてみたいと思います。

お礼日時:2010/01/24 15:33

可能です・



フォームに検索するTextBOX とボタンをを用意します。

TextBOXに検索キーワードを入力し、ボタンが押されたら 該当するレコードを表示します。

該当するレコードは 帳票形式の一覧で

絶対パスを含むファイル名(Excel)をクリックすればExcel がフィールド(TEXTBOX)
と対に、ボタンを表示させておけばよいわけです。

そのボタンが押されたらExcelのデータを表示するようにすればできます。

そんなに難しくはないですよ。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

お礼日時:2010/01/24 11:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す