• ベストアンサー

Accessでこんなことできますか?

以下のようなテーブルがあったとします。 ファイル名,絶対パスを含むファイル名,スペースで区切られたkeyワードの羅列(メモ型)をそれぞれField_a,Field_b,Field_cとします。 この時に、Field_cをある語句(複数)で検索してマッチするものがあれば、そのレコードの内容を表示させる。更にその絶対パスを含むファイル名(Excel)をクリックすればExcelのデータを表示させたいのですが。

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

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.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のデータ型を「テキスト型」から 「ハイパーリンク型」にしてやるのが最も簡単です。 (現在のデータが、ハイパーリンク型とするために必要な形に自動的に変換されます)

y_japan
質問者

お礼

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

y_japan
質問者

補足

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

その他の回答 (1)

  • NOBNNN
  • ベストアンサー率50% (93/186)
回答No.1

可能です・ フォームに検索するTextBOX とボタンをを用意します。 TextBOXに検索キーワードを入力し、ボタンが押されたら 該当するレコードを表示します。 該当するレコードは 帳票形式の一覧で 絶対パスを含むファイル名(Excel)をクリックすればExcel がフィールド(TEXTBOX) と対に、ボタンを表示させておけばよいわけです。 そのボタンが押されたらExcelのデータを表示するようにすればできます。 そんなに難しくはないですよ。

y_japan
質問者

お礼

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

関連するQ&A