カラムのデータが重複する行の有無をチェックする

PowerBuilder Tips

方法

DataWindow カラムのデータが重複する行が存在するかチェックするには Find 関数を使用します。

DataWindow の Find 関数で自身と同じ値の行を検索し、その結果を確認することで効率よくデータが重複している行を取得することができます。

 

【例】

// DataWindow の特定のカラムのデータが重複する場合にエラーメッセージを表示し処理を中止する
long ll_row, ll_rowcount, ll_id, ll_find

ll_rowcount = dw_1.RowCount()

FOR ll_row = 1 TO ll_rowcount - 1
    ll_id = dw_1.GetItemNumber(ll_row, "id")
    ll_find = dw_1.Find("id=" + string(ll_id), ll_row + 1, ll_rowcount)

    IF ll_find > 0 THEN
        MessageBox("エラー", "重複データが存在します。~n" + String(ll_row) + " 行目")
        RETURN
    END IF
NEXT

 

Tips情報

プロダクト :PowerBuilder

バージョン :2017R3

Tips 一覧を見る
PowerBuilder マイグレーション
PowerBuilder学習、動画で始めちゃう?