まりふのひと

完成実績検索画面で工程別時間が表示されない件

不具合状況


完成実績検索画面で、工程別時間(右図の右上)が表示されない。

原因

直接の原因は「社員」でないため。社員なのに社員でなくなった原因は‥‥

  1. 2008/02/28 の
    [is社員]で抽出していたものを、[社員区分]= 1 or 2 に変更
    した改修に漏れたあった。
    この背景には‥‥
    • System1.mdb と System2.mdb の整合性が崩れ、Work.mdbを二重に持つ構成になっていた。
    • 本番環境と開発環境で、環境設定ファイル(iniファイル)の内容が一致しなくなった。
  2. 本番環境での検証テストが十分でなかった。(開発側の言い訳かも‥‥)

今回の改修のポイント

  1. 2008/02/28 の改修を補完するにあたり、抽出を[is社員]→[社員区分]に変更するのではなく、モジュールに変更する
    • [is社員]フィールドは System2 独自項目であるため、System1との整合性を図るため消去する。
    • [社員区分]フィールドを使っての抽出(1 or 2)は、コードが増えた時のメンテナンス性に問題があるため、モジュール化する。

具体的な変更(ポイント)

  • モジュール「P_is社員()」を新設
Public Function P_is社員(arg社員区分) As Boolean
    If IsNull(arg社員区分) Then
        P_is社員 = False
    Else
        If arg社員区分 = 1 Or arg社員区分 = 2 Then
            P_is社員 = True
        Else
            P_is社員 = False
        End If
    End If
End Function
  • [社員区分]での抽出を、P_is社員()に変更
    1. Q_完成実績一覧表
    2. Q_完成実績集計表S1
  • [is社員]での抽出(前回の改修漏れ)を、P_is社員()に変更
    1. Q_完成実績一覧表10
    2. Q_完成実績実績
  • 旧版のクエリーを削除
    1. Q_完成実績一覧表_H200228
    2. Q_完成実績検索S1_H200228
  • その他
    1. Q_完成実績検索明細:[is社員]を削除
  • テーブルから[is社員]を削除
    1. tmp1.mdb/T_社員区分