こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Accessの年間売上と今月売上の管理について

いつもお世話になっています。
Access初心者ですが、年間(開始~先月まで)データと今月データの処理についてアドバイスをお願いします。

現在、アクセスの年間データとエクセルの今月データを一度に検索できるよう、
(1)エクセルの今月データを月間テーブルとして取込み、一部データは項目に入力後、
2つをクエリで結合し、フォームで年間+今月としてデータ表示させています。
(エクセルは1シート1か月分になっています)

しかし、(2)エクセルのデータは毎日3~4回追加され(他部署の処理)、(3)こちらでも更新(おもに備考欄に補足を入力)するので、
仕方なくコピペで月間テーブルに貼り付け後、補足入力をしています。

コピペをやめて、今月テーブルのデータをアクセスを起動する都度更新したいと考え、
今月テーブル(月初から前日までのデータ)と都度更新用テーブル(月初から当日までのデータを取り込む)を比較することで当日分だけのデータを確定し、
一部データは項目に入力後、月間テーブルに追加し、
都度更新用テーブルは削除…といった流れを考えているのですが
なんだかめんどくさいです。

「(3)こちらでも更新(おもに備考欄に補足を入力)」さえなければ、
エクセルから今月テーブルとして自動的に取り込むだけてよいと思うのですが…

「(3)こちらでも更新(おもに備考欄に補足を入力)」だけをテーブルとして分けると、
検索や表示する際に、クエリで結合が必要だし、同じデータが複数回登場するので
備考欄との紐つけが必要になり、もっとめんどくさいかと思います。

データの管理の専門家や詳しい方にアドバイスをお願いしたいです。

投稿日時 - 2015-04-16 03:16:40

QNo.8956551

困ってます

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

言っている意味が良く理解出来ないのですが、Accessでのデータ管理方法が正しく出来ていないように受け取れます

Accessはデータベース、Excelは表計算ソフトでそれぞれ得意な分野があります

まず業務なんですが、各部署で元になるデータがExcelで作成されるって事ですよね?
そのEcxelシートに(3)こちらでも更新列を作っておいて、okwv-firstさんの所で更新データが入力されたExcelシートを作成する(これが月間データになる訳です)

このデータを月末にAccessのテーブルにインポートで取り込む

データ取り込んだ後のAccessのデータを使って、月間・年間の集計データをフォームなりレポートなりで出力して利用する


または、各部署から送られてくるExcelデータはその都度Accessにデータ入力しておいてしまいたいなら、ExcelデータをAccessにインポート

月末に、データの中から(3)こちらでも更新が空白になっているデータでかつ今月取り込んだデータのみをクエリで抽出(もっと検索内容絞れるならここで絞る)して(3)こちらでも更新のデータをAccessのテーブルに直接入力してやる

一時処理として今月分のデータは一旦別なテーブルにインポートしておいて、月次処理として元になるテーブルに更新クエリでデータ追加して、月次処理用のテーブルデータを削除するって方法でも良いでしょう

(3)こちらでも更新(おもに備考欄に補足を入力)」だけをテーブルとして分ける とか、言ってますから、この部分の運用方法が適切でないのだと思います

Accessのテーブルは複数必要無いですよ

格納する元テーブルの構造が、(3)こちらでも更新 列を持っている構造になっていれば良いだけなのですが?

一時的に今月分のデータは別なテーブルで運用させていて、そのデータが確定したときに元テーブルにデータ格納・今月分のテーブルからデータ削除してしまうなんて動作はマクロに登録してしまえばワンクリックで済んでしまう事なので、やる作業の内容をきちんと把握しているなら面倒な作業ではありません

投稿日時 - 2015-04-16 08:34:20

お礼

回答ありがとうございます。
説明が下手ですみません。

>>>そのEcxelシートに(3)こちらでも更新列を作っておいて、okwv-firstさんの所で更>>>新データが入力されたExcelシートを作成する(これが月間データになる訳です)
>>>このデータを月末にAccessのテーブルにインポートで取り込む

なるほど。
こちらもエクセルに入力しておいて、インポートするのはできそうです。

ただ、
>>>(2)エクセルのデータは毎日3~4回追加され(他部署の処理)、(3)こちらでも更新>>>>(おもに備考欄に補足を入力)
(2)エクセルのデータは他部署で追加更新されていますが、こちらでデータを入力はできず、(3)こちらの更新はアクセスにコピペしたあと行っています。

しかし、元ある他部署のエクセルをこちらでコピーしておき、備考欄に補足を入力してからインポートすれば問題が解決できそうです。

自分がアクセスの知識がなく、初心者の複数人で活用しようとしているので
なるべくシンプルにしたいと思っています。

これからもアドバイスをいただければ助かります。

投稿日時 - 2015-04-18 11:12:57

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

ACCESSのテーブルは一つで良いでしょう
空のレポート呼び出し用のフォームに開始日、終了日のボックスと
レポートを起動するコマンドボタンを配置します。

要領は
http://okwave.jp/qa/q8956534.html
への回答を参考にしてください。

大切なことは、EXELLファイルの重複取込の対策が必要です。
そのために重複のないテーブル設計が必要です。

例えば、店No.、伝票No.、日付の隣接したフィールドでユニークに
なるなら、この三つ組を主キーと定義します。

投稿日時 - 2015-04-16 17:19:23

補足

回答ありがとうございます。

重複のないテーブル設計が出来そうもないので困っています。

>>>店No.、伝票No.、日付の隣接したフィールドでユニークに
なるほど。
エクセルのデータに伝票Noがないので困っていましたが、
組み合わせて比較することならできるかもしれません。

ご指導していただいた、テーブルを一つにする方法では難しそうですが
(同一日に同一内容のデータが何度も発生するので…)、
今月データをテーブルにしておき、
毎日追加されるエクセルを別テーブルにインストール、
それぞれの最終レコードの内容、件数などで比較し、
追加される分を確定しようかと思います。

投稿日時 - 2015-04-18 10:50:37

お礼

より簡単にするため、
エクセルをリンクさせたものをこちらでつくっておき備考欄を入力、
それを都度アクセスにインポートしようかと思います。

アドバイスいただいた方法も非常に参考になりました。

これからもよろしくお願いします。

投稿日時 - 2015-04-18 11:16:54

あなたにオススメの質問