• 締切済み

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 を踏まえたうえで、どのように作成すればいいのかご教授下さい。 かなりややこしい内容なのですが何かしらのヒントでもかまいません。 どのような点でもアドバイス頂ければ助かります。 何卒宜しくお願い致します。

みんなの回答

  • layy
  • ベストアンサー率23% (292/1222)
回答No.3

分割のイメージは 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つのテーブル内におさめることもできるし抽出条件で必要なもののみ取り出せる。 こんなイメージでどうですか。

generallee
質問者

お礼

ありがとうございます。 その案につきましては、当初に検討しておりましたが 分割パターンが多岐にわたるため、他の方法を…と思い質問した次第です。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

手形に関する印紙税は、 10万円以上100万円以下のもの 200円 100万円を超え200万円以下のもの 400円 200万円を超え300万円以下のもの 600円 300万円を超え500万円以下のもの 1千円 500万円を超え1千万円以下のもの 2千円 1千万円を超え2千万円以下のもの 4千円 以下省略 このようになっていますが、1000万以上は 分割しないとして、たとえば、質問の315万 だと、300万と15万ですから印紙代は800円。 この場合、分割される枚数は2枚。 400万だと200万2枚で800円。ただし、この 場合は補足の条件にはあてはまらない、とい うことになりますが。原則にはあてはめますか。 補足の「分割前合計金額が100万以上300万以下」 かつ、「分割後の残額が5万以上10万未満の場合」 ということで、印紙代との組み合わせで、 下限金額   上限金額 0        999999 1000000     1049999 1050000     1099999 1100000     2000000 2000001     2049999 2050000     2099999 2100000     3000000 という表をつくってみましたが、これを みれば、分割は2箇所、分割効果があるのは 1箇所です。つまり、1050000~10999999。 原則「手形分割は最小枚数にする」 「貼付する印紙額が最小になるようにする」 を守れば多分このような解釈になりますが、 これでいいのでしょうか。 これだと、分割前金額が1050000と1099999 の間の金額ならば分割する、というだけに なり、極簡単な方法になってしまいます。 つまり、 If 分割金額 >= 1050000 AND 分割金額 <= 1099999 Then 分割実行 End If のような感じです。1000万以下を設定しても 分割効果のあるのは数箇所ですむと思います。 これらの結果からプログラムするのは簡単ですが。

generallee
質問者

補足

詳細な回答、ありがとうございます。 実際、ご指摘の通りです。 分割効果のある1か所については、当社が過去からそのようなルールでやっていた というだけの理由で「そうなっている」だけで、とくに強い縛りはなさそうですが。 しかし実際効果はあるので、今後もこの縛りは有効ですね。 あと手形発行金額は1億円以内です、1000万以上の発行も結構ありますので これが頭を悩ませております…。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

315万の手形を分割する場合、300万と15万の手形に 分割されていますが、15万は分割の対象にならない のですね。 >分割後の端数が5万円以上10万未満であれば分割する 1315万のような場合は分割はどのようになりますか。 あるいは、1000万以上で端数がある場合はどのような 分割になりますか。それと分割する場合の最小単位は 質問の例だと100万以上のようですが。 分割条件によっては再帰関数のようなものになるので そのあたりをお聞きしたいのですが。

generallee
質問者

補足

ご質問有難うございます。 ご質問に対する回答になりますが「分割前合計金額が100万以上300万以下の場合で、なおかつ 分割後の残額が5万以上10万未満の場合」という表現が正しかったです。 1315万のような分割についてですが、原則「分割する場合、枚数が最小になるようにする」ので (そうしないと取引先様が困惑しますので)、「分割後の端数が5万円以上10万未満」という 条件は適用しません。 原則「手形分割は最小枚数にする」「貼付する印紙額が最小になるようにする」という形を 取っておりますが、こうなると条件分岐がすごい事になりそうですのである程度 妥協出来る部分は妥協したいと考えております。

関連するQ&A

  • Accessのクエリで、印紙代を計算したい

    初歩的な質問で大変申し訳ありません。 Accessで手形の印紙代をクエリの関数のみで計算したいのですが、やり方がわかりません。 テーブル:支払予定 支払先       │ 金額 あいうえお株式会社 │ 123,456 かきくけこ株式会社 │ 2,345,678 <以下続く> テーブル:印紙代 額面以下  │ 印紙額 1,000,000 │ 200 2,000,000 │ 400 3,000,000 │ 600 <以下続く> クエリ:手形支払 (作りたいもの) 支払先       │ 金額    │ 印紙額 あいうえお株式会社 │ 123,456   │  200 かきくけこ株式会社 │ 2,345,678  │ 600 こんな風にしたいと思っております。 ご教授よろしくお願いいたします。

  • 受取手形が不渡りになったらどのように対応したらいいか

    質問します。 振出人→当社→A社(仕入先) 当社は、1番裏書人です。 当社は、支払先に買掛金の一部として手形を支払先に渡しました。3/31期日に手形が決裁されなかったと支払先より連絡がありその事実を初めて知りました。4/1取り戻ししたので支払をして欲しいとのことで小切手を支払ますがその時は、領収書等は、どうしたらいいのか又戻ってきた手形は、どのように扱えばいいのか?手形と引換えに支払したほうがいいのか・・・ 当社は、振出人に対してどうしたらいいのか?不渡になった分の請求は、すぐした方いいのか…こちらから連絡した以外振出人からは、何の回答もなく現在どの様に進めるか検討中とのこと倒産などは、現在考えていないそうなのですが待つしかないのでしょうか・・・ 初めての出来事なのでその不渡りになった手形・回収出来なかった代金は、どうなるのでしょうか対応がわかりません。 お手数ですが教えてくださいお願いします。

  • Access2000でのレポート作成。1

    Access2000でレポートを作成しています。 「一覧テーブル」というものがあります。 項目は ・支払先No ・支払先 ・入居者 ・支払月 ・家賃 ・駐車場 ・共益費 ・支払総額 ・礼金 ・敷金 ・仲介料 ・更新料 ・その他 です。 また「支払先住所一覧テーブル」というテーブルがあり ・支払先No ・郵便番号 ・住所 が入っています。 この2つのテーブルを「支払先No」でリレーションし ・支払先 ・郵便番号 ・住所 ・入居者 ・支払月 ・家賃 ・駐車場 ・共益費 ・支払総額 ・礼金 ・敷金 ・仲介料 ・更新料 ・その他 という内容の「レポート一覧用テーブル」を作成するためのテーブル作成クエリをつくりました。 このテーブルからレポートを作成しようとしたのですがいいアイディアが浮かばず困っています。 2へ続きます。

  • 回り手形の振出人が倒産

    会社で経理、財務を担当しておりますが、最近の不況で自己手振出より受取手形に裏書し支払いにまわしておりましたところ、手形の振出人が倒産した旨新聞で知りあわてて確認しましたら当方買掛金の 支払いに使っている物が数百万あることがわかりました。(振出人→裏書人(売掛金回収)→当社裏書(買掛金支払)→支払い先) 以前にもこうゆうことがあったとき(売掛金回収→手形割引)は直接の裏書譲渡先より申し入れがあり 期日に現金を回収。そのときは当社が割引に出しておりましたので戻された手形を先方に返し一件落着しましたが今回の場合支払期日はまだ先であり、直接の裏書人(売掛金回収先)の経理からも何の連絡もなくこちらから言うべき物か困っております。 支払い先とは当方から渡した手形の振出人が自己破産した旨伝えております。期日前とゆうこともありまだ連絡はありません。どなたか教えてください。

  • 2級の伝票式会計 推定問題で

    TAC出版の2級商業簿記の合格トレーニング2級の 伝票式会計 推定問題で理解できないところがあります。 支払手形の総勘定元帳の借方の欄が1つしかないのに 出金伝票に支払手形が出てきて、さらに振替伝票の借方に支払手形が 出てきます。 解答によると支払手形の総勘定元帳の借方から、振替伝票の支払手形の借方の金額を差し引いて出金伝票に金額を書くようになっています。 ですが、総勘定元帳の借方が1つしかないので、それをそのまま出金伝票に書いてしまいます。 これはどのようにして気がつけばよいのでしょうか?

  • 商法について

    この前の商法の講義での小テストが全然解けませんでした。 どのような解答が望ましいでしょうか。以下の内容です。 1、振出人Aは手形を作成し、受取人であるBに当該手形を交付するのみとなった段階で、Cに手形を盗まれた。 Cはその後善意の第三者であるDに裏書譲渡した。 この場合、Dの支払請求に対してAは応じなければならないか。理由も述べなさい。 2、振出人Aは手形を作成し、受取人であるBに当該手形を交付した。その後Cは当該手形を盗み善意の第三者であるDに裏書譲渡した。 この場合、Dの支払請求に対してAは応じなければならないか。理由も述べなさい。 3、振出人Aは手形を作成し、受取人であるBに当該手形を交付した。その後BはCに裏書譲渡し、CはAに支払請求したところ、A・B間の原因関係に瑕疵があったことを理由にAは支払いを拒絶した。Aの主張は正当か。理由も述べなさい。 上記の3題なのですが、ほとんど白紙で提出しました。もしもわかる方いましたら解答お願いします。

  • Access 値を指定してレコード追加

    Accessのレコード追加時に、特定のフィールドに値を追加する方法が分からずに、困っております。 ご存じの方がいらっしゃいましたら、ご教授頂けましたら幸いです。 参考にしたサイト http://www.happy2-island.com/access/gogo03/capter00208.shtml バージョン Access2010 OS Windows7 Professional フォーム名:tmp税抜コンボ(テーブル名:tmp伝票No) サブフォーム:tmp税抜サブ(テーブル名:tmp税抜) 添付画像、tmp税抜コンビフォーム ◎目的 販売管理DB(SQLServer2008)からのリンクテーブルに、特定の得意先を抜出したデータに一部消費税が入っていないため消費税を入力し別のシステムへデータを渡す事が目的です。 ◎処理 可変値:納品日、伝票No、得意先CD、摘要、前のレコードからコピー 固定値:税区、商品名、数量は定数 消費税;手入力(InputBox) 上記のデータを新規で追加したいと考えており、下記のサイトを参考にしましたが、「オブジェクト変数または With ブロック変数が設定されていません」とのエラーが発生し追加出来ません。 【VBA】 Private Sub CmdB_copy_Click() 'レコードをコピーして、不要データ削除 '最後のレコードへ移動 DoCmd.GoToRecord , , acLast 'インプットボックスへ消費税額入力 Dim Tax As Long Tax = InputBox("消費税額を入力してください。") '現在のレコードから、伝票No、日付、得意先CDを取得 '変数定義 Dim rcDate As Date Dim rcDN_No As Long Dim rcTK_CD As Long '代入 rcDate = Me.納品日付 rcDN_No = Me.伝票NO rcTK_CD = Me.得意先CD Debug.Print rcDate Debug.Print rcDN_No Debug.Print rcTK_CD Debug.Print Tax 'レコードセットの定義 Dim oRS As DAO.Recordset With oRS .AddNew ←デバッグ画面では、ここでエラー表示 .Fields("納品日付").Value = rcDate .Fields("伝票No").Value = rcDN_No .Fields("得意先CD").Value = rcTK_CD .Fields("商品名").Value = "消費税" .Fields("数量").Value = 1 .Fields("単価") = Tax .Fields("税抜金額").Value = Tax oRS.Update End With Me.Requery MsgBox ("追加しました。") End Sub インティミディエイトウィンドを確認すると、納品日付、伝票No、得意先CD、消費税の値はちゃんと取得出来ているようですが、レコードセットの考え方、Withセクションの使い方、レコードの追加処理を全く理解できていないため、ご教授頂けたら幸いです。 もし、不足データがありましたら、お教え頂けたら出来る限りご提示いたします。  

  • Access クエリ 抽出・演算

    Access クエリについてご質問させていただきます。 テーブルのデータを特定の条件に一致するレコードだけ抽出し、演算を実施したいです。 (1):CSVデータをテーブルに取り込みます。 テーブルは左から『取引No』『部門コード』『部門名』『発注入力日』『担当者名』『発注日』『伝票No』『伝票行No』『商品コード』『商品名』『入数』『発注数(入力数)』『発注数量※1』『発注金額※2』『出荷日』『出荷数量※3』『出荷金額※4』となっております。 ※1:発注数量は入数×発注数が計算済みです。 ※2:発注金額は発注数量×単価で小数点以下切り捨てで計算済みです。 ※3:出荷数量は入数×出荷数が計算済みです。 ※4:出荷金額は出荷数量×単価で小数点以下切り捨てで計算済みです。 (2):クエリを使用して、商品名が『単3乾電池』の出荷数量を10で割り、10で割り切れるレコードを求めたいです。 (3):(2)の演算結果(10で割った後の整数)を合算して合計値をクエリの演算結果として表示したいです。 ※(2)の抽出条件でのクエリをすでに作成済みで、合計したクエリを作成したいです。 どのようにすればよろしいでしょうか?

  • 英文経理 支払日の変更を伝える(英文)メール

    企業で経理を担当しています。 日本から香港の経理センターへの連絡ミスで支払日が遅れるものがあり、香港の担当者から支払先に支払日の遅れの了承をとって欲しいと連絡がありました。 支払先には私からではなく伝票の担当者から支払先に連絡を入れてもらいました。 以下の内容を香港の担当者に伝えたいです。 ↓ ↓ 伝票の担当者(作成者)が○○(支払先企業名)に連絡をとり、支払日は3/20日で大丈夫だということです。 社内の人なのでそこまでカタい文章じゃなくていいのですが、サラッとごめんなさいという事も付け加え加えたいです。 どうぞよろしくお願いいたします。

  • Accessのフォームで思った順番でレコードが表示されない

    こんにちは Accessのフォームで受注管理を作成しています。 メインフォームには ・伝票番号 ・顧客番号、顧客名 ・担当部署、担当者名 サブフォームに ・明細番号、商品ID、商品名、単価、個数、金額 としていますがフォームを開くと伝票番号順にレコードが並ぶのが希望なのですが顧客番号順に並びます。 例)希望 伝票No 1  顧客番号 001 ・・・・・ 伝票No 2  顧客番号 010 ・・・・・ 伝票No 3  顧客番号 009 ・・・・・ 伝票No 4  顧客番号 001 ・・・・・ 現状 伝票No 1  顧客番号 001 ・・・・・ 伝票No 4  顧客番号 001 ・・・・・ 伝票No 3  顧客番号 009 ・・・・・ 伝票No 2  顧客番号 010 ・・・・・ 伝票番号順にしたい場合どこを確認すればよいかご存知の方がおられましたらご教示いただけますようお願いいたします。

専門家に質問してみよう