• ベストアンサー

ACCESSで必要なデータの抽出について

hi_maxの回答

  • hi_max
  • ベストアンサー率61% (8/13)
回答No.4

ACCESSを利用して、こんな風に処理してみるのは、どうでしょうか? 1.最終的に作成したいテーブルを作成する。デザインモードで必要なフィールドを作成します。一番最初のフィールドは“管理連番”等の名前で、オートナンバー型にします。その後、当初入力してあるテーブルのうち必要なフィールドを作成します。 2.次に、入力してあるテーブルに基づくクエリーを作ります。抽出したいフィールド(1で作成したテーブルのフィールドに対応するもの)をいれて、「入金済み」フィールドの抽出条件に“is not null”と入力します。そのクエリーを追加クエリーにします。追加先のテーブルには、1で作成したテーブルを指定します。各フィールドがきちんと割り当てられているか確認して、保存します。 3.2のクエリーを実行すれば多分ご希望のデータが抽出されたテーブルができます。 追伸;もし、この処理を何度もされるようでしたら、1のテーブルの雛型を作っておきます。たとえば、追加先のテーブル名が「T_入金済み確認」だとしたら、「T_入金済確認TMP」といったものを作ります。 クエリーを走らせる前に「_入金済確認TMP」をコピーして、「T_入金済み確認」を作り(以前にあったものは別名にするか削除)、その後クエリーを実行します。 フォームを作ることができ、ボタンイベントでモジュールを記述できるようでしたら、以下のようにするとよいかもしれません。 Private Sub "ボタン名"_Click() Docmd.Setwarnings False Docmd.CopyObject "新しく作るテーブル名" , acTable , "コピー元テーブル名" Docmd.OpenQuery "クエリー名" Docmd.Setwarnings True End Sub

nami2002
質問者

補足

教えて頂いた半分までは・・出来たと思ってますが続きでつまってしまいました。 「追加クエリですべてのレコードを追加できません。 型変換エラーのため0個のフィールドをNullに設定しました。また、5件(今試して5件だけ入力してます)のレコードでキー違反、0個のレコードでロック違反、0件のレコードで入力規則違反が発生しているため、レコードを追加できませんでした。」 との内容です。初めてAccess使って作るのでNull等の言葉で本を見たり検索もしたのですが・・何を指しているのか分かりません。もしよろしければ、続けて教えてください。

関連するQ&A

  • 今日の日付のデータをすばやく抽出するには・・

    売上日報をエクセルで作っています。 A列に1から順にNOを入れています(LOOKUP関数を使うためです) B列に日付を入れています。 C列に社名を入れています。 その他の列にもいろんなデータが入っています。 本日の日付だけをすばやく抽出したいと思うのですが、どうすれいいか分かりません。 オートフィルタで今日の日付を選ぶ方法はやれます。 でも、もっと早く抽出できる方法はないでしょうか? 数ヶ月分のデータが入っているため、オートフィルタの三角をおしたあと、今日の日付を探すのに結構手間取ります。 もっとすばやく抽出したいのです。どんな方法でもいいです。どなたか教えて下さい。

  • アクセスでの抽出方法(日付+時刻)

    こんにちは いつもお世話になってますm(_ _)m アクセスでの抽出方法に悩んでます。 毎日、上司への報告で前日の17:00までに受付た情報を抽出してます。 条件は「<=Date()」です。 この条件だと前日の17:30以降のデータも引っ張ってきてしまいます。 思い切って「<=#2005/07/05 17:30#」のように日付を指定してしまう 方法もあるのですが・・・ 毎日やることなのでできれば関数で抽出できますでしょうか?

  • シート間のデータのやりとり

    当方はエクセル2003 OSはXPです。 シート「記入」とシート「入金記入」の2つのシートがあります。 シート「記入」には  A1 月度 B1 日付 C1 ID・・・・・顧客番号管理です D1 売上金額 I1 入金確認  シート「入金記入」には A1 月度 B1 日付 C1 ID・・・・・顧客番号管理です D1 入金金額 というシートの内容です。 ※この場合のご相談ですが 例えば シート「記入」I1のリストから「入金済」を選択したときに シート「入金記入」の B1 日付    「入金済」を選択したを自動的に日付が記入される C1 ID     はシート「記入」の番号をそのまま D1 入金金額  はシート「記入」の売上金額をそのまま もしこのことが可能ならご指導いただけるとありがたいのですが。 現在はシート「入金記入」手動で入力しています。

  • Excelで合致するデータの抽出について

    初歩的な質問ですが どうしてもうまく抽出できないので教えて下さい。 Excelでシート1のリストの項目は5列で 社員No.社員名・性別・住所・Telが入力されている 全社員データが200件あります。 またシート2のリスト項目は6列あり 社員No.社員名・支店名・性別・住所・Telが入力されており、 支店名にはすべて東京と入力されているリストが50件ほどあります。 シート2の社員データ50件を、 シート1の全社員リストから 抽出する方法を教えていただけないでしょうか。 抽出場所はどこでもかまいません。 申し訳ありませんが、よろしくお願いします。

  • オートナンバー型を抽出条件にするとき

    いつもお世話になります。 VB.NET2003+Access2000環境です。 あるテーブルにはオートナンバー型を使って新規発生データの管理番号を振っていますが、別のテーブルでその番号を見て手入力しているフィールドがあります。 SQLの抽出条件でこのオートナンバーと手入力したデータと一致したデータを抽出しようとやっているのですがうまくいきません。 オートナンバーのデータを参照して入力するほうのフィールドを数値型にしてもテキストにしてもいずれも「型が一致しない」というエラーが起こります。 こういう場合はどういう風な処理をするのが一般的なのでしょうか? よろしくお願いいたします。

  • エクセルでのデータ抽出について

    いつもお世話になっております。 以下の操作についてご教示をお願いいたします。 使用しているエクセルは2007です。 Sheet1 A列:2010年~の日付(昇順に記載し、発生日はランダム)が記載され、 B列以降は日付に対応したデータが記載された表が有ります。 Sheet2に同じ表の形式で2013年以降のデータを抽出したいのですが。 どのような方法がありますでしょうか? INDIRECT関数なんかを使って試行錯誤したのですが・・・わかりません。 どなたかご教示をお願いいたします。

  • アクセスのデータ画面のソートについて

    いつもお世話になっています。 アクセスのデータ画面、エクセルに何となく似ているのですが、 エクセルのように「A列で降順」のような並び替え、 または「オートフィルタ」のような抽出はできるのでしょうか? エクセルにエクスポートするには、データが多すぎてまた頻繁にデータが追加されるので都度エクスポートするのには時間がかかりすぎてしまいます。 また、クエリで上記のようなソートや抽出ができるのなら、 その方法を教えていただけますか? よろしくお願いします。

  • Excel 日付・時刻データの抽出

    こんにちは。 Excelの表の一列に、「2005/12/8 14:45:00」のように、日付と時刻が表示されています。時刻は、0:00:00、0:15:00のように、15分単位です。データは、100~300件ほどあります。 この表から、時刻が「0:00:00」のみを抽出したいのですけれど、文字列でないためか、オートフィルタやVLOOKUPは上手くいきません。 又、同じ表から、「0:00:00, 1:00:00」のように、1時間単位で、抽出したいのです。 何か、よい方法があれば、教えて下さい。 宜しくお願いします。

  • 二つのデーターをつき合わせて、どちらかに無い値を抽出

    いつもお世話になっています。 シート1とシート2にデーターがそれぞれあり、 重複していないデーターがどれかを抽出したいのですが 方法があれば教えて下さい。 よろしくお願い致します。

  • データ表より抽出・集計について

    いつもお世話になります。先日、質問した内容ですがわからないなどの指摘を頂きましたので反省して再質問いたします。 ・元データ表:概略 WORK2.XLS   A     B     C     D 1 日付    2      不良1  不良2  不良3 3       15     60     25      4       0.15    0.6    0.25     5 12/1    5       25      5 6 12/2    3       15      3 7 12/3    2      15       5 8 12/4    5       5      2 1行:日付名称 2行:不良項目 3行:不良項目合計数 4行:不良項目発生率 5行以下:日付別発生数 を表しています。 ・抽出 上記表よりワースト不良発生率を抽出 不良2   0.6%  → LARGE・INDEX関数により:完了 ・日付別の発生数を表にしたい     A       B 1  12/1      25 2  12/2      15  3  12/3      15 4  12/4      5 B1=SUMIF('WORK2.xls]sheet1'!$A:$A,A1,'[WORK2.xls]sheet1'!$C:$C) 下へオートフィルで完成しますが、式の$C:$C(不良項目)は抽出した不良項目により変わるので上の式で固定はできません。(そのたびに変えるのは避けたい) 抽出した不良項目に対応出来るようにするにはどうすればよいのでしょうか? 教えてください。