• 締切済み

アクセス csv出力 抽出条件

データベース(アクセス2003)で作成されたファイルがあります。 このファイルのフィールドは"日付"、"時刻"、"設備"、"数値"のようになっています。(設備名は1~4) フィールドの条件を指定して日付ごと、加えて設備別にcsv出力を行いたいと思います。 クエリを用いて抽出条件に日付、設備名を入力してクエリを実行 そしてcsvにエクスポートという形では時間がかかりすぎるため困っています。(データは1日分が8万点ほどで年によっては設備が4つにわかれています。データは途中が抜けていたりしますが2005年~2008年まであります。) どうにかしてもっと効率的な作業を行えないでしょうか?

みんなの回答

回答No.3

作業の自動化が目的ならマクロとクエリで出来ると思いますよ。なぜならマイクロソフトオフィスでできるほぼ全ての操作はマクロ(VBA)からも出来るようになっているはずだからです。

回答No.2

あー。  効率という意味が 作業の自動化するということなら プログラムで自動化すれば解決でしょう。

water18
質問者

補足

マクロやクエリを用いてできるのでしょうか? アクセスは殆ど使ったことがなく困っています。

回答No.1

回答:ないですね。 なぜなら・・・秘密です。

関連するQ&A

  • Access フォーム上でクエリによるcsv出力

    Accessで障害履歴を管理するDBを作っています ・障害内容をフォームより起票して障害履歴テーブルに保存される ・月に一度、前月分の障害をクエリでcsvに抽出 ・抽出する際に発生日時のフィールドを[Like "2021/04/**"]の 抽出条件を入れて指定した月をクエリで抽出しています。 今回悩んでいるところは、毎回クエリのデザインビューを開き 発生日時の抽出条件に[Like "2021/04/**"]を入れて抽出ではなく フォーム上で2021年○月と指定して抽出というボタンを実行すると 自動でcsv出力まで出来るのを目指しています。 ※csv出力する際に指定したファイル名が自動でつけばなお良い イメージとしてはフォーム内にエクスポートというボタンを作り、 それを押すと障害発生日時の○年○月を指定するポップアップが表示され、日付指定して実行すると○月分の障害履歴が指定したファイル名でcsvにエクスポートされる。 またはフォーム内に障害発生日時の○年○月を指定するテキストボックスがあり、日付指定後にエクスポートのボタンを押すと同様にcsv出力されるのを作りたいのですが可能でしょうか?

  • アクセス出力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()の要素がないのですが、どこに入れるべきでしょうか。 上記の手順に間違いはないか、その後のエクスポートの仕方はどこにどうやることを指しているのか、上級者の方にアドバイス願いたいです。 不足があれば補足します。どうぞよろしくお願いいたします。

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

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

  • Access 抽出クエリーについての条件

    先の投稿に重複しますが、 それぞれ異なるテーブルについて、 クエリーで、、 Between #5:00# And #19:00# Between 500 And 1900 上記の方法等で同じ数値ではなく、 期間に幅をもたせて一致としそれぞれの 一致データを抽出するクエリーは つくれますか? もちろん抽出対象のテーブル、列はそれぞれ同じ書式です。 > between関数を使って、 フィールドのデータ型が日付/時刻型の場合 抽出条件欄に、 > 5:00から19:00を抽出したい、 Between #5:00# And #19:00# > 5:00から25:00を抽出したい、 Between #5:00# And #23:59# OR Between #0:00# And #1:00# Access の日付/時刻型では、25:00 というような表現はできないので、上記のように分割することになります。 > また上記がテキストだった場合も、 > 500から1900を抽出したい フィールドがテキスト型の場合、テキスト比較になり数値比較とは異なる抽出結果になるので、 フィールドに Val([テキスト型フィールド]) と式を設定して数値型に変換します。このの抽出条件に、 Between 500 And 1900 と設定します。 通報する

  • アクセス 複数条件の抽出~出力について

    ■アクセスのフォームにて、複数の条件を入力し、合致するリストをエクセルで出力する   データベースを構築しようとしています。  ⇒この複数の条件を入力する件に関し質問です。 ■目的は、顧客からのアンケート回答結果をDBから取出し、エクセルにて解析を行う事です。  情報量が膨大であるため、セグメントした形で出力し効率を上げたいと考えています。 ○テーブルのフィールド構造:   支店(テキスト型)、顧客No(数値型)、顧客名(テキスト型)、質問1(数値型)、質問2、・・・   ○フォーム「データ抽出」の構造: [支店名1][支店名2] [顧客No1][顧客No2] [顧客名1][顧客名2]       【出力ボタン】 ※上記テキストボックスいずれかに入力された条件に合致するデータが          【出力ボタン】を押すとエクセルに出力されるという構造です。          ※ボタンのイベントに「抽出マクロ」を設定。 ○抽出クエリ: 支店 [Forms]![データ抽出]![支店名1]  Is Null [Forms]![データ抽出]![支店名2]  Is Null 顧客No [Forms]![データ抽出]![顧客No1]  Is Null [Forms]![データ抽出]![顧客No2]  Is Null 企業名 like "*" &[Forms]![データ抽出]![顧客名1]& "*" Is Null like "*" &[Forms]![データ抽出]![顧客名2]& "*" Is Null               ○マクロ(抽出マクロ):  クエリを開く (抽出クエリ)  コマンドの実行(エクセルに出力)  閉じる (抽出クエリ) と設定しました。そこで実行確認すると・・・・  (例)     (1)支店名1だけに入力して、他は空欄で出力ボタンを押下。     ⇒条件セグメントされず、全てのデータがエクセル出力されてしまう。     (2)全ての項目に入力して出力ボタンを押下     ⇒条件セグメントされたデータがエクセル出力される。  という現象が起こりました。  例示(2)は良いとして、(1)の様な空欄がある状態でも、条件にマッチした出力をしたいのですが上手くいいかず困っています。    尚、クエリの抽出条件を支店フィールドだけにした所・・ 支店  [Forms]![データ抽出]![支店名1]   Is Null  [Forms]![データ抽出]![支店名2]   Is Nul 支店名1に入力して支店名2は空欄であっても条件にマッチした出力結果が得られました。 長文恐縮でございますが、どなたか解決法をご教授いただきたく存じます。よろしくお願いいたします。

  • アクセス:DateVakueと抽出条件

    クエリで年、月、日付の文字情報からDateValueで日付に変換し、ある条件のものだけを抽出しようとしています。しかし実行すると『抽出条件でデータ型が一致しません』というエラーが出ます。 抽出条件の所に日付を入れても自動では日付を表す# #が付かないため、ここは日付のフィールドではないような気がします。 で、手動で#を付けて<#2008/01/01#のように設定すると、5秒くらいは結果が表示されるのですが、すぐ同じエラーが表示されます。 (文字列で設定(<2008/1/1)しても同じエラーが出ます。) 何がおかしいのかご教示お願いします。

  • Accessの抽出条件がうまく作れず困っています

    Access2003で、町内会のデータベースを作っています。 各世帯を1レコードとし、家族名と生年月日をそれぞれフィールドにしています。 (例:家族1,家族1の生年月日、家族2、家族2の生年月日・・・) 子ども会の対象者を生年月日をもとにクエリで抽出しようとしています。 家族構成によって、家族1、家族2などの各フィールドに対象者が混ざっているため、クエリの「または」欄を使い、各生年月日フィールドの抽出条件に「>#2002/04/01#」と入力したところ、家族1は非対象者でも、家族2が対象者の場合、家族1の名前が抽出データに入ってしまい困っています。 (世帯によっては家族1に対象者がいるため表示になっているからで当然すよね…) 家族1、家族2の各フィールドの純粋に対象者のみ抽出するには、どのような条件式を入力すればいいでしょうか? 夏休みのイベント案内のため、早急にやらねばならず本当に困っています。 お知恵を拝借いたしたく、どうかお願いいたします。

  • ACCESS2000でクエリを抽出条件で抽出

    VBA上でクエリの抽出データを取得してファイルに書き込むというプログラムを書いております。 抽出条件として、今日の日付のレコードを取得したいのですが型が一致しませんとエラーになります。 strSQL = "SELECT * FROM " & (クエリー名)& " where (クエリー.カラム名)='" & Format(Date, "yyyy/mm/dd") & "'" クエリーのカラム名は全角漢字です。 どこがおかしいのでしょうか? よろしくお願いいたします。

  • ACCESS2000 クエリの抽出条件

    フィールドに無作為に年月日が入力されているとします。 クエリの抽出条件に>2008/1/1と入力すると「2008年1月1日よりも新しい日付のレコード」を選択できます。 新しい日付の上位25までを選択するためには、抽出条件になんと入力したらいいのでしょうか。あまりにも基本的な質問かもしれませんが、お時間の許す方にお願いします。

  • access2000での抽出条件

    DBから選択クエリーを作ってある条件を満たすデータを抽出したいのですが、レコードの量が多くて(10万単位)スぺックの悪いPCなので並べ替えをするにも固まってしまって困っています。 同じ名前を持つレコード群の中で最新の日付のレコードだけを抽出する関数ってありますか? 例えば 発生日,名前,種類,住所,電話番号 の5つのフィールドがあり、その中で同じ"名前"を持つ"発生日"の中で最新の日付だけを抽出する、として教えていただけないでしょうか。 よろしくお願いいたします。

専門家に質問してみよう