data.みなさま、こんにちは!!さてまずは宣伝です。移転し、初めての大阪研究会になります。真新しいスペースで、ぜひお会いいたしましょう!会員外の方の見学も大歓迎です!上記研究会のリンクより、ノーツコンソーシアム事務局へご相談ください。この日は第三金曜日、テクてくLotus技術者夜会も開催されます。今回は特別に同じく大阪事業所にてパブリックビューを開催いただけることになりました。こちらはどなたでも参加可能ですが、会場への入館手続きが必要になりますので、参加ご希望の方は、予めテクてくLotus技術者夜会のサイトより申し込みを行ってください。※現在は3月分の申し込みを行っておりますので、4月分はもう少しお待ちください。それでは本題にもどります。前回に続き、今回はビューを作成して参ります。メーカーマスター用のビューです。すべてのビューの選択式に、「使用フォームにより検索」・・・「makerForm」を設定してください。m_Payment(昇順・カテゴリ別)それぞれアクションには[終了][新規作成(メーカーマスタ/支払)][編集][印刷][削除]を組み込んでおります。続いて支払フォーム用のビューです。こちらも先と同様に「使用フォームにより検索」・・・「paymentForm」を設定してください。PaymentDayこちらもアクションには[終了][新規作成(メーカーマスタ/支払)][編集][印刷][削除]を組み込んでおります。続いて参照するビューができましたので、メーカーマスタの支払条件のダイアログを設定します。[makerForm]の[m_Payment]フィールドを選択し、制御タブの[選択]を【式で選択肢を設定】とし、以下の式を入力します。@DbColumn("":"NoCache";"";bym_pay;1)最後に【リストにない値も可】としておきます。次に支払フォームについて、メーカーマスタから参照できる項目を設定します。[MakerCode]について、ダイアログでメーカーマスタからコードを呼び出す設定を行います。コードを選ぶ場合、カナを検索して選択するような設計としました。制御タブの[選択]を【[ビュー]ダイアログから選択】とし、現在のデータベースの【メーカー\名称順】の3列目を取得させます。フィールドのExitingイベントに以下スクリプトを設定することで、フォーム内の参照フィールドが更新されます。Sub・・・こちらは御代様の記事「フォームの再計算」より拝借致しました。続いて[MakerName]です。こちらは先の[MakerCode]をキーとして、(メーカー\参照用)ビューから値をLookupします。編集可能から計算結果へ変更し、以下式を設定します。末尾の数字は、メーカー\参照用|bym_refの列番号(上記に記載)をセットしてあります。@if(MakerCode="";"";@DbLookup("":"NoCache";"";"bym_ref";MakerCode;2))引き続き以下フィールドも計算結果へ変更し、それぞれ式を設定します。[Kana]@If(MakerCode="";"";@DbLookup("":"NoCache";"";"bym_ref";MakerCode;3))[Bank]@If(MakerCode="";"";@DbLookup("":"NoCache";"";"bym_ref";MakerCode;4))[BankCode]@If(MakerCode="";"";@DbLookup("":"NoCache";"";"bym_ref";MakerCode;5))[Branch]@If(MakerCode="";"";@DbLookup("":"NoCache";"";"bym_ref";MakerCode;6))[BranchCode]@If(MakerCode="";"";@DbLookup("":"NoCache";"";"bym_ref";MakerCode;7))[Account]@If(MakerCode="";"";@DbLookup("":"NoCache";"";"bym_ref";MakerCode;8))[AccountCode]@If(MakerCode="";"";@DbLookup("":"NoCache";"";"bym_ref";MakerCode;9))[AccountNo]@If(MakerCode="";"";@DbLookup("":"NoCache";"";"bym_ref";MakerCode;10))[AccountName]@If(MakerCode="";"";@DbLookup("":"NoCache";"";"bym_ref";MakerCode;11))[Payment]@If(MakerCode="";"";@DbLookup("":"NoCache";"";"bym_ref";MakerCode;12))[PaymentAmount1]@If(MakerCode="";"";@DbLookup("":"NoCache";"";"bym_ref";MakerCode;13))[PaymentAmount2]@If(MakerCode="";"";@DbLookup("":"NoCache";"";"bym_ref";MakerCode;14))[PaymentTerm1]@If(MakerCode="";"";@DbLookup("":"NoCache";"";"bym_ref";MakerCode;15))[PaymentTerm2]@If(MakerCode="";"";@DbLookup("":"NoCache";"";"bym_ref";MakerCode;16))[PaymentTerm3]@If(MakerCode="";"";@DbLookup("":"NoCache";"";"bym_ref";MakerCode;17))それでは実際に値が反映されるか確認しておきます。全フィールドが計算結果として取得されます。最後に支払金額の「合計」を計算結果フィールドに変換します。[PurchaseAmount]フィールドを計算結果に変更し、に求めたい式を設定します。Tax))※仕入金額及び消費税がブランクの場合はブランク表示するようにしてあります。内税処理されるのであれば、消費税のデフォルト値に"0"を設定してください。それではNotesでプリビューし、[仕入金額]と[消費税]を入力してみましょう。当たり前ですが、正しく計算結果が表示されました。[仕入金額]もしくは[消費税]がブランクであった場合、下記のようなエラー表示になります。本日は以上とさせて頂きます。次回はもう少しアプリケーションとしての機能を追加する予定です。Hagihara当ブログの記事は、私個人の経験談を中心とした見解・判断に基づく内容となります。記載内容や、ダウンロードコンテンツ等については、恐れ入りますが利用者様の自己責任でお願い致します。