質問: access2007にて、以下のようなデータベースを作るよう上司から言 access2007にて、以下のようなデータベースを作るよう上司から言われまして 取り組んでいるのですが以下の箇所で躓いてしまいました。 作成する物:約束手形の手形分割及び印紙額を自動計算する 会社の財務コンピュータ(所謂オフコンと呼ばれている古いものです)で仕訳を入力すると 以下のようなものが出来ますので、それを多少加工してaccessにインポートします。 インポートしたデータは、ここでは「a」というテーブルに追加されます。 伝票no,支払先cd,振出日年月日,振出銀行cd,支払金額, (上記cdとはコードの事です。支払先別のデータベースが別にありここでは7ケタの数字です) 上記で1レコードとし、それが大体60~80レコードあるものとします。 次に、手形での支払金額に応じて節税対策としての手形分割をするのですが、現在の私の スキルではどのようにするべきか分からないでいます。 支払手形の分割条件は、分割後の端数が5万円以上10万未満であれば分割する (例:合計が105万円であれば、100万×1、5万×1の手形を作成する。) 事があるくらいです。 あとは一般的な分割条件を適用します。 上記経過を踏まえて、今回教えて頂きたい事を下記にまとめます。 1)分割前レコードから、分割後のレコードをそれぞれ作成して「新たなテーブルに追加」 するような方式を考えていますが、どのような方法で作成するのがベストでしょうか。 たとえば、ある1レコードが以下のような場合 0001,0123456,220920,771,3150000, (伝票no 0001 平成22年9月20日振出のabc株式会社宛約束手形、金額3,150,000円) この1レコードを分割して 0001,0123456,220920,771,3000000, 0001,0123456,220920,771,150000, 伝票noが重複しますが、他のフィールドを追加しても問題ありません。 (というより、管理上ナンバリングidのようなものの追加は必要かも知れませんが...) できれば、マクロで作成する方法があればご教授頂きたいと思っています。 (当方まだsqlやモジュールに関しては理解が出来ているとは言えないレベルです) 2)手形金額別分割のロジックを条件に組み込まなければならないのですが、上記質問1 を踏まえたうえで、どのように作成すればいいのかご教授下さい。 かなりややこしい内容なのですが何かしらのヒントでもかまいません。 どのような点でもアドバイス頂ければ助かります。 何卒宜しくお願い致します。
回答: 分割のイメージは 0001,0123456,220920,771,3150000, から 0001,0123456,220920,771,3000000, と 0001,0123456,220920,771,150000, ですから まず 3150000から3000000を求める計算用の関数を作る クエリの編集で 0001,0123456,220920,771,3150000,関数の結果(3000000),差額(150000) とする。 次に 追加クエリで各2テーブルに分ける 0001,0123456,220920,771,3000000 と 0001,0123456,220920,771,150000 さらに 0001,0123456,220920,771,3150000,・・・・・・レコード区分1 0001,0123456,220920,771,3000000,・・・・・・レコード区分2 0001,0123456,220920,771,150000,・・・・・・レコード区分3 とでもレコード区分の項目をつけておけば 1つのテーブル内におさめることもできるし抽出条件で必要なもののみ取り出せる。 こんなイメージでどうですか。