• 締切済み

アクセスでフォルダー内のデータ検索の仕方

お世話になります。 アクセス(エクセルからのインポート)のテーブルにxxxxxx.tifという6桁(xはすべて数字)の画像ファイル名を保存したレコードがあるとします。 また、Aというフォルダ内に、レコードに対応した、xxxxxx1.tif~xxxxxx5.tifと言う7桁の名前のファイルが保存されています。 アクセスの6桁のファイル名とAフォルダ内にある7桁中の上6桁は同じ数字で、下1桁で別ファイルとしてあります。 このたびアクセスを利用して、上6桁が合致したファイルを候補としてリストアップし、さらにそこからファイル名をクリックすると対象ファイルを閲覧することができるシステムを作ろうと考えています。 つきましては、アクセスで特定フォルダ内のファイルを検索し、候補を表示する方法をご教示いただければありがたいのですが。

  • nkeis
  • お礼率57% (86/150)

みんなの回答

  • Masa2072
  • ベストアンサー率51% (94/182)
回答No.1

与えられたフィル名を元にAフォルダ内の該当ファイルをイミディエイトウィンドウに出力するだけのサンプルです。 Dir関数を使用しています。 Dir関数でのワイルドカードの使用方法はコマンドプロンプトでのDIRと同じです。 Sub sample(ByVal FileName as string)  Dim Filter as String  Dim FN as String  Filter = Left(FileName, 6)  FN = Dir(Filter & "?.tif")  Do Until FN = ""   Debug.Print FN   FN = Dir()  Loop End Sub レコードからのファイル名取得方法、フォームへの出力方法は工夫してください。

関連するQ&A

  • アクセスマクロで、csv データを取り込むときに起こるエラー

    こんにちは、いつも質問ばかりですみません。 WINDOWS2000 で ACCESS 97 ユーザーです。 品番.CSVがあるとします(数千行) 品番は、 100 A100 のように、数字のみやローマ字が入り混じっています。 ACCESS 側に「品番」テーブルを作り、データ型をテキストにします。その上で  ファイル  -外部データの取り込み  -インポート  -次のテーブルに保存する「品番」 でテーブルを指定すると、きちんと入ります。 が、マクロで  テキスト変換  -区切り記号付インポート  -テーブル名「品番」  -ファイル名「品番.CSV」  -フィールド名の設定「はい」 で実行すると、 「品番インポートエラー」テーブルが別に作成され、 A100 を「データ型の変換エラー」と見なしています。 …どうしてでしょう。

  • フォルダにアクセスできなくなりました…

    PC内臓のハードディスクに保存していたExcelのデータに直接アクセスすることができず困っております。 フォルダの中にさらにフォルダが複数あり各フォルダにExcelデータが入っているという構成です。 本日PCを起動してそのフォルダを開いたところ、中のフォルダが全て消え、空になり容量も0になっていました。 昨日まで普通にデータはあり、アクセスもできていました。 記憶をたどっていくつか思い出せるファイル名があったので、アドレスにフォルダ名を直接入力してみると開くことができ、データもちゃんとありました。 ファイルとデータはちゃんと存在しているものの、その上のフォルダからアクセスするとフォルダが表示されず空になっていて直接アクセスすることができないという状態です。 ファイル表示の問題かと思い、下記の方法は試してみましたが効果はありませんでした。 ・フォルダオプションの「すべてのファイルとフォルダを表示する」のチェックを入れる。 ・フォルダオプションの「保護された保護されたオペレーティングシステムファイルを表示しない」のチェックを外す。 通常通り表示する方法は何かございますでしょうか? よろしくお願いいたします。

  • リネーム(ファイル名の前にフォルダ構造をつけたい)

    ファイル名の前に、そのファイルが格納されているフォルダ名をつけるフリーソフトを見つけたのですが、何階層も上のフォルダまではできませんでした。 やりたいことは A\B\C\000001.TIF このような階層になっている場合 000001.TIFを A-B-C-000001.TIF …というファイル名にリネームしたいんです。 区切りは「-」でも「_」でも何でも良いのですが… そんなソフトはありませんでしょうか? ソフトじゃなくても、何か方法があれば教えてください(>_<)

  • 途中で改行されたCSVをAccessに正常に取り込むには?

    以下のようなCSVファイルがあり、これをAccessにインポートしようとしています。 フィールド1  数字7桁 フィールド2  数字2桁 ・・・・・    フィールド20 テキスト42桁 ・・・ フィールド26 数字13桁 ただ、レコードの中には長すぎるためか途中で改行されてしまっている レコードがあり、レコードが途中で切れてしまい、続きが次の行に 読み込まれると言う少し困った状態になっています。 (見たところ、フィールド20で切れているようです) 数箇所なら元のCSVを修正してから取り込めばいいのですが、全体が約80万件で、 そのうち200件以上はあるため、手作業でなく何か自動的に直す方法で対処したいと思っています。 (元のCSV自体が読み込みが重いため、手作業は困難です・・) Accessに取り込むためのいい方法はないでしょうか? OSはWinXPのSP2、Accessは2003です。

  • エクセルデータを基にフォルダ内の検索をしたい

    エクセルで作成したリストの中の【品名】が、とあるフォルダの中のファイル名の中にあるかを検索したいのです。 具体的には次の通りです。 (1)前任者の代から(5年以上前)エクセルで証明書を作成 ⇒顧客ごとに分けたフォルダの中にファイル名を【品名】で保存。 (2)【(1)】とは全く関係の無いある抽出条件で作成したリストに基づき 【(1)】フォルダの中にこのリストに載っている品名の証明書があるか確認したい (3)リストは1点ですが、フォルダは複数。 検索する上でのキーワードは【品名】になると思うのですが・・・ エクセルデータ通しならVLOOUPイメージで良いと思いますが 仮にやり方がるとして、 (1)出来ればリスト上にその結果を反映させたい (2)見つかった(リスト上と合致したデータ)物を一括で別フォルダに移動したい ここまでやって完成する状況にあります。 PCは初心者に毛の生えた程度レベルです。 よろしくお願いいたします。

  • ACCESS2000での大量データ処理

    CSVファイルの情報をACCESS2000にインポートして集計処理をしたいと考えてます。 CSVファイルの構成は、20フィールド(全て文字属性)で1レコード、1400レコードで1件となっております。(この仕様を変更する事は出来ないのが条件です。) 言い直せば、1名分の情報は1400レコードあるとなります。但し、集計に使用する情報はその内の400レコードであり、1000レコードは不要です。 処理する人数は3万件ぐらいあります。 (1)1400レコード×3万件の情報をインポート出来るのでしょうか?    テーブル制限の1Gを超えないのでしょうか(テーブルサイズの参照方法も?) (2)CSVをインポートする際に、必要なフィールド400だけインポートできるVBAはあるのでしょうか?  必要不要の判別フィールドはあります。 (3)インポート後、ACCESSで400項目を1レコードにする事はできないか?255以上のフィールドのテールを処理する方法はあるのでしょうか? (4)このような大量集計を可能にするには、みなさんは何を使用しているのでしょうか? よろしくお願いいたします。

  • アクセス 複数のテキストファイルインポートについて

    アクセス VBAについてです。 DoCmd.TransferTextで複数のテキストファイル(同一フォルダの中、上から順に全て)を取り込み、 テーブル名を一つ一つ順番につけていくことは可能でしょうか?? 例 フォルダダイアログを作ってそのフォルダを指定して フォルダ名をテキストボックスに表示、 その表示されてるフォルダの中身を 別のボタンを押せばインポートできるように、 テキストファイル A1 A2 A3 A4 インポート後のテーブル名 B1 B2 B3 B4 インポート時の定義は全て同一です。 わかりにくくてすみません、 知恵を貸してください

  • Access2003でファイルを検索したい

    Access2003にて指定したフォルダのファイル名を検索して、その名前をテーブルに保存することは、可能なのでしょうか?

  • ACCESS2002、レコードのインポートができません!

    初心者です、よろしくお願いします。 ■ 仕様環境 WinXP Access2002 アクセス2002で顧客管理システムを作ってます。 アクセスAのテーブルにアクセスBのテーブルをインポートする時、 レコードだけインポートできないのでしょうか? どうしても違うテーブルが作られてしまいます。 例えば・・ アクセスAに「住所」という項目があり、そこには既にレコードが 何件か入っているのですが、そこにアクセスBの「住所」のレコードを追加したいのですが、 うまくいきません。そういう機能はついていないのでしょうか? また、アクセスBの情報をエクセルファイルに変えて「次のテーブルに保存する」で インポートしたのですが、最後の「完了」ボタンを押すと「エラーが発生し、 インポートできませんでした」という表示がでてインポートできません。 同じように電話番号や名前、メールアドレス等もアクセスAに追加したいのですが、 一つ解決しないと先に進まない気がするのでとりあえず住所だけにしぼってみました。 データを”追加”するような感じでしたいのです! 誰かお知恵を貸してください!

  • Access(アクセス)でのインポートについて

    テーブルのインポートでエクセルファイルをインポートしたいのですが「ワークシートインポートウィザード」の画面でテーブルを指定して保存すると 「Microsoft Access」の画面で「すべてのデータをテーブルに追加できませんでした。 キー違反のため、0件のレコードのデータが失われ、0件のレコードが削除されました。」と出てきて、保存できません。 もとのテーブルのデータ型を使ってインポートするにはどうしたらいいのでしょうか。よろしくお願いします。 インポートする元のデータ(エクセル)とインポート先(アクセス)の関係は次の通りです。 エクセルファイル    アクセスのテーブル (セルの書式設定)   データ型、フィールドサイズ --------------------------------------------- 数値          数値型、長整数型 文字列         テキスト型、16 インポートする前に元のエクセルデータをアクセスのデータ型に合わせただけではダメなのでしょうか

専門家に質問してみよう