[サポートFAQ]
ライン
更新日:1999.07.01 - 情報番号:005063
ライン
Q 直前レコードの値を参照して累計値を求めたい
ライン
A FAQ改善アンケートにご協力ください

直前のレコードの項目値を参照して累計値を求めたい場合は、連動式を設定します。


■ 操作手順 ■

「データベースを共有モード(参照専用)で開いているため、編集内容を反映できません。操作を続けますか?」というメッセージが表示される場合があります。その場合は■ こんなときは ■を参照してください。

  1. 累計値を求める項目に連動式を設定する
    1. 五郎を起動し、データベース一覧ウィンドウで、使用したい表が含まれるデータベースを選択して、[開く(O)]をクリックする。

    2. 表・帳票一覧ウィンドウの[表]シートで、使用したい表を選択して、[定義編集(E)]をクリックする。

      実表定義ウィンドウが表示されます。
      ここでは、以下のような表を例に解説を進めます。

      金額累計
      20,000  
      30,000  
      50,000  
      10,000  


       [項目名]金額:[データ型]数値/[詳細]通貨

       [項目名]累計:[データ型]数値/[詳細]通貨

    3. 項目定義領域(画面左部分)で、[累計]の項目をクリックして選択する。

    4. 詳細定義領域(画面右部分)の[入力補助]シートをクリックする。

    5. [連動式(D)]欄をクリックして、以下の計算式を入力する。

      ArrayValue(Goro.Rowset.Value(-1),"累計")+[金額]

      ◆補足◆

        <ArrayValue 関数>

        書式  < Value = > ArrayValue ( 配列, 添字 )
        機能  配列の要素値を返します。
        引数  配列配列を指定。
            添字文字列または数値を指定。
        返り値 Value配列の要素値を返す。
        説明  配列の指定した添字の要素値を返します。

        <Value プロパティ>

        書式 Rowset.Value ( ) < = Array >
        機能 カレント行のデータを示します。

        値の設定と取得が可能です。
        引数 Posカレント行を基準とした相対位置を指定。
        データ設定時に引数が設定されている場合は無視します。(省略可能)
        値 Array カレント行のデータ情報を配列で指定。
        説明 Rowsetオブジェクトのプロパティです。
        カレント行のデータを列の名前を添字とした配列で設定、取得します。
        引数 Pos はカレント行以外のデータを取得したい場合に、カレント行を基準とした相対位置を指定します。
        Rowsetオブジェクトのデフォルトプロパティです。



      ◆ [マクロバイザー]を利用して入力する場合 ◆

        マクロバイザー機能を使用して、[連動式(D)]に関数、オブジェクトを入力することもできます。

        1. [連動式(D)]欄の右上にある[エスコート]アイコンをクリックする。

          [連動式]ダイアログボックスが開きます。

        2. [連動式]ダイアログボックス内で、[式(E)]欄の右上にある[マクロバイザー]アイコンをクリックする。

        3. ArrayValueを呼び出す。

          (1)[関数]シートをクリックする。

          (2)[関数名(N)]の一覧をスクロールし、 ArrayValue をクリックして選択する。

          (3)[式の挿入(O)]をクリックし、[閉じる]をクリックする。

            [連動式]ダイアログボックスの[式(E)]欄に、 ArrayValue( 配列, 添字 ) と入力された状態になります。

        4. Goro.Rowset.Valueを呼び出す。

          (1)[連動式]ダイアログボックスの[式(E)]欄に入力された、 ArrayValue( 配列, 添字 )の「( 」の後ろにカーソルをおく。

          (2)[連動式]ダイアログボックス内で、[式(E)]欄の右上にある[マクロバイザー]アイコンをクリックする。

          (3)[オブジェクト]シートをクリックする。

          (4)[階層(T)]欄で以下のようにダブルクリックする。

            五郎→Application→Goro→Rowset


          (5)[名前(N)]の一覧から Value をクリックして選択する。

          (6)[式の挿入(O)]をクリックし、[閉じる]をクリックする。

            [連動式]ダイアログボックスの[式(E)]欄に、ArrayValue(Goro.Rowset.Value 配列, 添字 ) と入力された状態になります。

        5. 「配列」「添字」は削除し、「(-1)」「"累計"」「+[金額]」をそれぞれ手入力する。

        6. [OK]をクリックする。

          マクロバイザーの画面で、使用する関数やオブジェクトを選択して、[マクロヘルプ(M)]をクリックすると、各オブジェクト、関数についてのヘルプを表示することができます。

  2. [連動の再実行コマンドでは連動式を実行しない(N)][追加領域中では連動しない(Q)]をオフにする。

  3. 入力が完了したら、[ファイル(F)-表定義の終了(X)]を選択する。

  4. 「表[○○]は変更されています。更新しますか?」のメッセージで、[はい(Y)]をクリックする。

    [定義終了後表を開く(O)]をオンにした状態で、[はい(Y)]をクリックすると、定義終了後に自動的に表が開きます。



  • 累計値を計算させる
  • I.で設定した連動式を計算させるためには、「連動の再実行」を実行する必要があります。

    1. 表内のレコードを全て選択する。

      領域選択ボタン(項目名の左端部分)をクリックして、全てのレコードを選択します。

    2. [データ(D)-連動の再実行(U)]を選択する。

      I.で設定した連動式が再実行され、[累計]の項目に累計値が表示されます。

      金額累計
      20,00020,000
      30,00050,000
      50,000100,000
      10,000110,000


    ◆ 注意 ◆

      レコード追加時や、「並べ替え」「絞り込み」コマンドの実行によりレコードの並びが変わった場合には、連動式を再計算させる必要があります。
      II.の手順に従い、「連動の再実行」を実行してください。

    ■ こんなときは ■

    「データベースを共有モードで開いているため、編集内容を反映できません。操作を続けますか?」というメッセージが表示された場合

      < は いを選択>

      表定義ウィンドウが開きますが、内容を変更し、定義編集を終了しようとしても「この表定義 ウィンドウは参照専用です。変更した内容はすべて無効になります」のメッセージが表示されます。
      確認をクリックすると、編集した内容を破棄し、表定義を終了します。

      <いいえを選択>

      表一覧ウィンドウに戻ります。
      以下の操作を行い、データベースを排他モードで開き直してください。

      1. 開いているデータベースを閉じる。

      2. 使用したいデータベースを選択し、[設定変更(P)]をクリックする。

      3. [接続モード]を[排他(E)]に変更し、[OK]をクリックする。

      4. 使用したいデータベースを開く。



    「データベースを参照専用で開いているため、編集内容を反映できません。操作を続けますか?」というメッセージが表示された場合

      <は いを選択>

      表定義ウィンドウが開きますが、内容を変更し、定義編集を終了しようとしても「この表定義 ウィンドウは参照専用です。変更した内容はすべて無効になります」のメッセージが表示されます。
      [確認]をクリックすると、編集した内容を破棄し、表定義を終了します。

      <いいえを選択>

      表一覧ウィンドウに戻ります。
      以下の操作を行い、データベースを編集できる状態で開き直してください。

      1. 開いているデータベースを閉じる。

      2. 使用したいデータベースを選択し、[設定変更(P)]をクリックする。

      3. [データベースを参照専用で開く(R)]をオフにし、[OK]をクリックする。

      4. 使用したいデータベースを開く。
    ライン

    この情報は、お客様のお役に立ちましたか?

    送信
    ライン
    ※本情報の内容は、予告なく変更することがあります。
    ※本情報の一部または全部を無断で転載及び複写することを禁止します。
    ※記載された会社名、製品名は、弊社または各社の登録商標もしくは商標です。
    弊社の登録商標についてはこちらをご参照ください。