• 締切済み

ACCESSで、毎回、内容の変わるCSVの取り込み

ACCESSで、毎回、内容の変わるCSVの取り込みを行いたいと思っています。 対象のCSVはフィールド名付きですが、順序が、  名前・年齢・職業だったり、  名前・職業だったり、  名前・年齢・趣味・職業だったりと、 エクスポートしたデータの内容によって、フィールドが変わります。 これを、必要なフィールドだけ(名前・職業だけ)をクエリで取り出したいのですが、なにか良い方法はありますでしょうか? ちなみに、テーブルのリンクで、必要なフィールドだけを取り出したりなどを試したのですが、データがずれて取り込まれたりと、うまくいきませんでした。

みんなの回答

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.2

> 毎回変るCSVの方は、ちょっと理由があってどうしようもないので、 どうにも、なりませんか^^; > これって、毎回リンクの作成をしないと、ダメなのでしょうか? CSVの順序が違うようであれば、毎回リンクの定義自体を作成しなおさないと、おそらく駄目でしょうね、それと自動的にクエリは書き換えません・・・存在しないフィールドは値を聞いてくるでしょうね ある程度決まりがあれば、それを元にVBAで、リンクの作成し直し、クエリの作成し直しを、作成しなおせますが・・・作れない場合、やっぱり手で作っていく事になりますね VBAがある程度、理解可能であれば、ソースの方は考えますが・・・ ソースを作っても、状況に合わせて訂正していくのは、ご自身になるので、ある程度は理解できないと、無理がありますが・・・

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

何が、どううまく行かなかったのでしょうか? 単純には、毎回変るCSVを何とか統一していくのが先のような気がしますが・・・ フィールドはエクセル上の列と違い、どこにあってもフィールドの順番には依存しないので、毎回、リンク作成、追加クエリ作成すればよいだけで、うまく行かないと言うのが、よく判らないのですが・・・

take-345
質問者

補足

これって、毎回リンクの作成をしないと、ダメなのでしょうか? 一回リンクを作成すれば、自動的にクエリの内容が変わるものかと思っていましたが・・・。 ちなみに、毎回変わるCSVに関しては、ちょっと今のところ打つ手が無いです・・。 毎回変るCSVの方は、ちょっと理由があってどうしようもないので、

関連するQ&A

  • Accessについて至急ヘルプ

    csvデータをマクロでインポートして、いくつかのクエリ処理をかけた後、csvでエクスポートしていますが、データ内の時刻をhhmmssで出力したいのです。(あたまに0が付いて6桁表記) (1)テーブルのデータ型を、数値の書式000000 (2)テーブルのデータ型を、日付のhhnnss (3)取込データを標準から、hhmmssに変更 (1)ではテーブル内では6桁表記されますが、出力データはなりません。 (2)ではテーブル内で全てのデータが00000になってしまい、取込データ型の問題なのかと(3)をしましたが、テーブル内は同じ状況です。

  • CSVファイルのインポート/エクスポート

    VBAのAccessでCSVファイルを取り込んでテーブルに登録するプログラムと、テーブルのデータをCSVファイルでエクスポートするプログラムを作ろうと思っています。 選択クエリを使用して、取得したものをエクスポートするようにしたいのですが、どのようにすれば可能でしょうか?

  • AccessでのCSVファイル取り込みの自動化をしたいのですが。

    AccessでのCSVファイル取り込みの自動化をしたいのですが。 D:\DATA\というフォルダの下に「01」~「99」という99個のフォルダがあり、すべてのフォルダの中に「item.csv」「kaku.csv」,「kumi.csv」,「time.csv」,「total.csv」という存在します。 毎日01-99に順番にデータが格納されていきます。そのデータを毎日、Accessのテーブルに保存する作業を自動化(「01」~「99」のフォルダ指定)にしたいのですが出来ません。 どなたかご教授ください。ちなみにAccessのテーブルはCSVのファイル名と同じです。

  • Access csvの取込 ファイルは任意でテーブルは指定したいのですが?

    Access初心者です。2003を使用しています。 csvをマクロの「テキスト変換」で取り込ませています。取り込み時に定義どおりのテーブルを作成してくれるので、追加クエリを使い作業用テーブルに移動させ、処理にはそちらを使う仕組みにしています。 csv → データ用テーブル → 作業用テーブル(実際使うテーブル) csv取り込みには「テキスト変換」マクロでファイル名にパスを設定していますが、この部分を固定パスではなく任意に指定できるようにしたいのです。(取り込みたいcsvが決まったパス、ファイル名で無い場合があります。) 「コマンドの実行:インポート」ですとダイアログが出て任意に取込ファイルが指定できますが、インポートウィザードが起動してしまいます。使用者がウイザードで適切な定義を選びデータ用テーブルを作成してくれればいいのですが、私がツールを作りPCに詳しくない人が使うのでインポートウイザードを避けたいと考えます。 どなたか、マクロ「テキスト変換」でファイル名をダイアログなどで、任意に指定できるような手法をご存じないでしょうか? また、マクロでは無理なようでしたらVBAでしたら可能でしょうか? よろしくお願いします。

  • アクセス出力date()の0:00:00を無くす

    アクセス2010を使っています。 http://support.microsoft.com/kb/291245/ja http://www.accessclub.jp/bbs/0244/beginers79891.html 上記の2サイトを参考にして CSV出力時にdate()で求めた当日の日付データの時間0:00:00が出ないようにしたいのですが、 サイト内の解説がいくつかわからない点がありますので教えてください。 まずテーブルを作成してクエリを作りました。 テーブルは テーブル名:testdate フィールド名:日付 データ型:日付/時刻型 書式:日付(s)  …例2010/06/06 としました。 クエリはテーブルは上記の一つで、 フィールドは一つで フィールド名:日付2: Format([日付],"yyyy/mm/dd") としました。 両サイトとも、クエリをエクスポートする、と書いてあるのですが、エクスポートというのは外部へ行うものだと思うのですが、別のクエリのフィールド内に「エクスポート」するのでしょうか。 またdate()の要素がないのですが、どこに入れるべきでしょうか。 上記の手順に間違いはないか、その後のエクスポートの仕方はどこにどうやることを指しているのか、上級者の方にアドバイス願いたいです。 不足があれば補足します。どうぞよろしくお願いいたします。

  • アクセスでcsvに出力した際、頭の0が消えてしまいます

    アクセスからテーブルをcsv形式でエクスポートしようとしています。 エクセルでは頭の0がきちんと残りますが、csvだと消えてしまいます。 (取引先コード012345が頭の0が落ちて12345になってしまう) これを最初の0もきちんとある状態でcsv形式にエクスポートするには どうすればいいのでしょうか? 尚テーブルの時点ではフィールドの型はテキスト型になっています。 どうしてもcsv形式でないとならない為、困っています。 宜しくお願いします。

  • Access処理を自動化するには?

    以下の状況で困っています。お知恵を拝借できれば幸いです。 宜しくお願いいたします。 <状況の作業> 1)システム甲より、特定のフォルダにCSVデータA,Bがエクスポートされる。 2)データAをテーブルAにインポートする。 3)データBをテーブルBにインポートする。 4)テーブルAにある重複をクエリでなくす。(クエリA) 5)クエリAとテーブルBからクエリを使用して最終データを作る。(クエリ最終版) 6)クエリ最終版をエクスポートして、CSVで保存する。(最終版.csv) 7)システム乙に「最終版.csv」をインポートする。 ※メモ   元のCSVがエクスポートされる場所はサーバ上です。   元のCSV名は、「YYYYMMDD_固定部分.csv」で名称が変動します。 <やりたい事> 上記の作業のうち、2)~6)を自動化したい。

  • access vbaでCSVファイルを文字列にしてエクスポートする方法

    ACCESSのVBでクエリのフィールドデータをCSV形式にして なおかつすべてのセルを文字列にしてエクスポートしたいんですが 基本的なやり方がわかりません。 データが00012の時だとCSVにすると12として表示されるのそのまま 00012で表示させたいんです。 詳しい方教えていただけないでしょうか? よろしくお願いします。 ACCESSは2003を使っています。

  • Accessのcsvエクスポートに関して

    Accessでのcsvエクスポートに関して、ご教授頂けましたら幸いです。 テーブルを基にした帳票形式のフォームがあります。チェックボックスにフラグが付い たデータのみcsvでエクスポートし、かつ、保存するファイル名をフィールドに値を使用 したいのですが、このような処理は可能でしょうか。 フォーム表示例: 商品コード 数量 チェックボックス A     10  チェックあり B     10  チェックなし この時、チェックありの商品コードAの情報のみをcsvでエクスポートし、かつ、ファイル名を「A.csv」としたい。あわせて、商品Bが対象となった場合は「B.csv」としたい。 お手数ですが、宜しくお願い致します。

  • Access 1レコードずつcsvで出力したい

    使用しているのはAccess2000です。 クエリのレコードを、1レコードずつcsvにエクスポートしたいのですが、マクロなどで自動的におこなうことはできないでしょうか? 例. クエリ名:test レコード数:100件 フィールド名:ファイル名 testクエリの1から100までのレコードを、1件ずつcsvへエクスポートする。保存する際は「ファイル名」を参照して、csvファイル名とする。100件分のこれらの作業をすべてマクロ等で自動化したい。 VBAの知識はほとんどありませんが、VBAによる回答でも構いません。 よろしくお願いいたします。

専門家に質問してみよう