• ベストアンサー

Accessでマスターデータで資格確認後テーブルに取り込む仕組みを作りたいのですが

Accessの初心者です。VBAはほとんどわかりません。 健康診断の申し込みの処理を紙ベースからアクセス処理に合理化をしたいのですが、何から手をつけてよいか困っています。 具体的には 1.健康診断の申し込みがエクセル形式のファイルで(現在は紙ベース)届きます。 2.資格関係のマスターテーブルと照合して加入者番号、性別、生年月日などから適合した人だけを申込者のテーブルに取り込み、取り込んだ人たちのリストを出力する。 3.照合の結果取り込めなかった人をエラーとして取り込まずにリスト化する。 2万人ほどの規模で150カ所の事業所を相手に作業をしていますので、年間1000回くらいの頻度で上記の作業を紙ベースで行っています。合理化できればかなり楽になるのですが。 アクセスのどの機能を利用すればよいかなど、ヒントだけでも結構ですのでよろしくお願いいたします。

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

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

Accessで処理する場合の考え方は紙ベースで行う時と同様、 条件を規定したテーブルを作成しておき 送られてきたデータをその条件と見比べて合致するもののみ取り出す ということになります そのためには >資格関係のマスターテーブル と 送られてくるものが比較できるような形で必要なデータを持っていなければなりません 例えば20代の女性または30代の男性という条件の場合なら 送られてくるデータに生年月日と性別が含まれていれば (データはテーブルという形で、生年月日や性別は独立したフィールドになっている必要があります) 資格テーブル 年齢下限 年齢上限 性別 20    29    女 30    39    男 のようなテーブルを作れば条件にあったものだけを取り出すことが出来るようになります 照合にはクエリというものを使います

その他の回答 (1)

  • kosamon
  • ベストアンサー率47% (11/23)
回答No.1

>アクセスのどの機能を利用すればよいかなど これは「自分で造る」しかありません。 アクセスとはそういう代物なのです。 >2.資格関係のマスターテーブルと照合して加入者番号 資格関係のマスターテーブルの内容が良く解りませんが、もしその中かに一意の番号があるのなら、それによって、「一致するものと、そうでない物」の振り分けは可能です。 実務レベルで、その申込書に加入者番号が記載されていて、かつその番号が一意のものならば、その番号がマスターテーブルに一致するか否かを調べれば良いでしょう。 で、もし一致するならばそれらのデータばかりを集めたテーブルに データを積み込んでいけば良いですし、照合の結果一致しなかった方のリストも必要であるようなので、そのような方は不一致用のテーブルにデータを積み込めば良いでしょう。 では頑張ってください。

関連するQ&A

  • ACCESS2003 テーブルから特定のデータを削除する

    初めまして。ACCESS2003で、"Aテーブル"(電話番号、郵便番号、名前、住所のフィールドがあります)から別の"Bテーブル"(たとえば電話番号削除リスト、削除する電話番号のフィールドのみ)に該当するレコードのみを削除するといったような作業をするには、どのようにしたら良いでしょうか? アクセス初心者で困っています助けてください。

  • ACCESSでリンクテーブルのデータを自動取り込みしたい

    業務データの処理について、お教え願えればとご質問致します。 ACCESS2000でエクセルにリンクテーブルを設定しており、月に一度 エクセルのデータが更新されています。 手動作業で、このリンクテーブルの「すべてのレコード」を選択した後 ACCESSのテーブルに貼り付けて引き続く作業をしています。 複写するリンクテーブルの数が多いので マクロかVBAで自動的に取り込みたいのですが、  どうも良い方法が分かりません。 よい方法をご存知の方、居られましたらご教授下さい。

  • WEB画面でAccessテーブルを表示したい

    よろしくお願いします。 WEB画面上で入力された年月日範囲を Accessテーブルのデータから表示させたいのですが よろしくお願いします。 【Accessテーブル】 ----------------------------- │ USER │ 年月日 │  内容 │ ----------------------------- │000001│20090401│?????????│ │000002│20090402│?????????│ │000003│20090403│?????????│ │000004│20090404│?????????│ │000005│20090405│?????????│ │000006│20090406│?????????│ │000007│20090407│?????????│ ----------------------------- 【WEB画面】 年月日【20090401】~【20090405】   [表示ボタン] 【Accessテーブル】 ----------------------------- │ USER │ 年月日 │  内容 │ ----------------------------- │000001│20090401│?????????│ │000002│20090402│?????????│ │000003│20090403│?????????│ │000004│20090404│?????????│ │000005│20090405│?????????│ │ │ │ │ │ │ │ │ ----------------------------- 【処理の流れ】 (1)画面上に年月日を入力する (2)ボタンを押す (3)WEB画面に抽出されたデータが表示される 【条件】 ・AccessVBAは使わない ・Accessクエリは使わない ・HTMLファイルにSELECT文で書いて抽出したい 【わからないこと】 ・Accessテーブルのデータを表示する場合にHTMLのFORMは何がいいのでしょうか?   表示されるデータ量は1万件以上の場合があります。 ・ボタンを押したときに表示したいのですがAccessを自動起動して 抽出し表示になるのでしょうか? わからないことだらけですがよろしくお願いします

  • ACCESSデータベース作成で正規化と言われました。 テーブルの作り方

    ACCESSデータベース作成で正規化と言われました。 テーブルの作り方(項目分け)がわかりません。・申込日・氏名・性別・生年月日・郵便番号・住所・電番・職業・DM希望・メアド どうすればいいですか?

  • ACCESS2000を使って複数のテーブルを照合する方法について

    ACCESS2000を使用して下記のような3つのテーブルがあったとします。 1.メインテーブル   商品名   コード 1 りんご   012 2 りんご   022 3 バナナ   200 4 バナナ   201 5 イチゴ   100 2.A商店テーブル   商品名   コード 1 りんご   012 2 バナナ   200 3 バナナ   201 3.B商店テーブル 1 りんご   022 2 バナナ   201 テーブル1~3を照合して作製したいクエリ   商品名   コード  A  B 1 りんご   012  ○  × 2 りんご   022  ×  ○ 3 バナナ   200  ○  × 4 バナナ   201  ○  ○ 5 イチゴ   100  ×  × のように複数のテーブルを参照し、テーブル1のフィールドにある内容と同一のものがどのテーブルに存在するまたは、存在しないをがわかるような一覧リストを作成したいのですが、具体的にはどのようにしたら良いのでしょうか。 よろしくおねがいいたします。

  • ExcelデータをAccessにてリンクテーブルで操作するにあたり

     大容量のExcelデータをAccessにて、リンクテーブルで取り込み、処理をしたいと考えております。    現在、Excelにてデータ管理をしており、その量が常に1万行を超えております。ExcelデータをDBに移行し、プログラムを組んで新たなシステム開発をと考えておりましたが、このExcelデータは、様々な作業の元ネタともなっており、ある一部の仕様だけをシステム化するとなると、かなり大幅な工期にもなること、技術者確保が現在無理であること、運用をいきなり変えるということが不可能なことで、どうしても現在のExcelデータをベースにして一部の処理をシステム化する(ツールレベルになるでしょう)程度でしか、今は開発ができないと察しております。    そこで、Excelデータを取り込み、そこから必要なデータだけをチョイスして、全体作業の中の一部の作業だけを簡略化しようとしております。  取り込んだ後、チョイスして加工するわけですが、例えば、ある行は「処理済み」と言う形で、Excelの当該行にチェックを書込む処理も必要になります(現在は手作業なので)。    よって、インポートするよりもリンクテーブル化したほうが、都合のいい開発が出来るのでは?と考えております。    問題は、インポートの場合は、読込行の指定が可能なようですが、リンクテーブルの場合、不可能とのこと。  何か方法があればご教授して頂きたいと存じます。    元データとなるExcelですが、1行30セルほど。  読取開始行は、4行目からですが、4行目以降の行が不規則で、一つのまとまりごとに、コメントや合計値を算出している行を挟んでおります。 例) No、管理No、発注者、取引先、商品名、金額、数量・・・・・・  この行が例えば3つ有り、その次の行にコメントや合計値が記載。1行空けてみたり、数行空けてみたりして、次から改めてNo、管理No、発注者、取引先・・・・のように続きます。    あまり詳しく個々では書けませんが、よろしくお願い致します。    Accessは、2000ないしは2003。Excelは2000ないしは2003を利用。  利用者は1人を対象にしてますが、Excel自体は、現在3~5人で同時利用している状態です。  OSはXP。主にノートPCで使用。

  • アクセスのテーブルの差分の抽出について

    アクセスの初心者です。今、仕事でデーターの差分の抽出の仕方についてわからず困っています。 2つのテーブルがあります。 テーブルには100以上の項目と500件ほどのレコードがそれぞれ入っています。 この2つのテーブルを比較して差分を出したいのですが方法が思いつきません。 出したいものは、テーブル1とテーブル2の共通のIDを比較し、 テーブル1からテーブル2で変更、追加されたものを出したいのです。 レコードの追加だけなら差分クエリを利用してやれると思うのですが、 100以上の全フィールドをそれぞれ比較するとなるとどうすれば良いのかわからないのです。 2つのテーブルの項目は基本一緒ですが、追加されたり、変更されたりします。 もともとはエクセルのデータで毎週やりとりされるもので、 エクセル上で手作業で、 シート1とシート2でマッチングを行い、シート3に追加、変更されたものを書き出しています。 100列ほどの項目も追加や変更されるので、前回データと今回データで (1)列の比較をして2つの列数を揃えてから、 (2)KEYになる列でVLOOKUP関数を使い、追加されたデータをよけて、 (3)前回データと今回データが一緒のデーター並べ替え、揃えて、シートを比較して変更、追加を探す という作業を行っています。 データー数が多く、エクセルでは限界がでてきました。 また、アクセスを使えば簡単にできる。と言われましたが、 まだまだ初心者のため、この大量のデータをどう処理すればいいのかわかりません。 質問は、 (1)アクセスで100項目以上あるテーブルのそれぞれの差分をだすことができるのでしょうか? (2)その方法はどうすればよいのでしょうか? また、アクセス初心者でも勉強すればすぐにできるのでしょうか? と、いうことです。 会社に迷惑をかけないためにも、可能、不可能を判断したいです。 よろしくお願いいたします。

  • アクセスでウェブ上のデータを半自動的に取り込みたいのですが

     今まで、気象データの集計をするのに、特定のウェブ上で参照したい年月日を入力して、その日の時毎データの頁を開き、データ表をマウスで範囲を指定してコピーし、エクセルに貼り付けて、そのデータを用いて集計を行っておりました。  しかし、上記の方法ですといちいち年月日の指定→画面の表示後必要箇所をコピー→エクセルに戻って貼り付け→ウェブに行って次の日の指定→と繰り返し作業が面倒です。  そこで、アクセスのフォームで取り込みたい年月日の範囲を指定することで、参照元のウェブから、特定範囲のデータを次々にコピーして、テーブルに各データを格納できるマクロを作成できないかと考えました。 所有バージョンはアクセス2002です。  今まではエクセルをよく使っており、簡易的なデータベースとしてもエクセルで済ませていましたが、データが蓄積すると処理に時間がかかるようになりましたので、アクセスを使った方がいいかなと考えます。  クエリーをとりあえず構成できるようになったのは2日前からです。モジュールは全く作ったことがありません。  よろしくご教示下さいますよう、お願い申し上げます。

  • マスタデータ更新

    こんにちは。 システム開発の基礎的なところがわからないので、教えていただきたく、投稿させていただきます。 システム開発をほとんどやったことがないので、言葉が変なところもあるかと思いますが、宜しくお願いいたします。 サーバー上に、AというSQLServerのDBがあります。 今までは、システム管理者のみがAccessからA.DBのリンクテーブルを使い、マスタデータの更新/追加/削除を行っていましたが、今後、リーダークラスの人もできるようにしたい!という要望があり、そのインターフェース部分を作成しています。 いろいろと考え、フロントエンド側にAccessでB.mdbを作成し、そこには、A.DBと同じテーブル構造の一時TBLを作成し、B.mdbを開いた時にA.DBから全データを取得することにしました。(取得するところまではできています) ここから、設定するための画面作成をしますが、最終的に、更新/追加/削除されたデータは、どのようにA.DBにUPすればいいのでしょうか? 考えた方法として (1)B.mdb内に、一時テーブルとは別に、更に同じ構造の変更用テーブルを作成。 設定画面から更新/追加/削除されたデータは変更用テーブルに保存し、全ての処理が終了したら、変更用テーブルにあるデータを1つづつ見て、A.DBへ更新/追加/削除をかける (2)一時テーブルのデータを直接更新/追加/削除し、全ての処理が終了したら、全テーブルのレコードを1件づつ比較し、A.DBへ更新/追加/削除をかける というくらいしか思いつかないのです。 その他に思ったのが、一時テーブルもしくは変更用のテーブルに、レコード毎に「更新/追加/削除」がわかるようにフラグを設けて、そのフラグに従ったSQL文を発行する というくらいです。。。 根本的に、マスタデータに対する更新/追加/削除のやり方が間違っていたりしますか? 誰も聞ける人がいないので、どうぞ宜しくお願いいたします!!!

  • アクセスで上付きのあるデータの管理をしたいのですが

    今職場でアクセスでデータベースを作っています。 データの中に、一部上付き、下付きになっているデータがあり、その対処に困っています(化学式とか)。 アクセスだと、上付きなどの書式はテーブルに保存されませんよね。 しかし、少なくとも最終的に作成する資料(紙ベース)だけは上付きは上付きにしなければならない状況です。 また、DB自体はいろいろな人が使うので、普段のデータの入力・資料の作成の操作が難しい方法は避けたいです。 何か良い方法は無いでしょうか。 ちなみにソフトウェアとしてはアクセス2002とオフィス2003を使っています。 私はアクセスについてはそれほど詳しくは無いですが、ヒントだけでも教えていただければ勉強して何とかしたいと思います。 今のところ、方法がなければ、資料を作るときはエクセルなどにエクスポートして一つ一つ書式を設定しなおすことを考えています。 ただ、それも色々別の問題が発生している状況ですので、出来れば違う方法をと思い、模索中です。 よろしくお願いいたします。

専門家に質問してみよう