ソート条件に全角文字のカラム名を使用すると正しくソートされない

バグ情報

PowerBuilder 日本語版において、ソート条件としてマルチバイト文字を含むカラム名または計算フィールド名が使用された場合、正しくソートされない不具合が確認されています。

Bug ID 2266
Product PowerBuilder JP
ステータス PowerBuilder 2017 R3 日本語版 MR (Build 1915) で修正済み
発生バージョン EN 12.6 2017 2017 R2 2017 R3 2019
JP 12.6 2017 R2 2017 R3

:発生バージョン    :解決済み、未発生    :未確認

詳細

データウィンドウの SetSort メソッドに指定する文字列について、下記の表で示すように、2つ以上のソートキーを指定する場合にカンマとマルチバイト文字を含むソート項目の間に半角スペースがないと正しくソートされません。

半角スペースあり / なしの動作状況:

ソートキー スペースの有無 ソート条件 結果
カラム名 半角スペースなし “state A,年齢” 正しくソートされない
“state A,年齢 ASC” 正しくソートされない
“state A,年齢 A” 正しくソートされる
半角スペースあり “state A, 年齢” 正しくソートされる
“state A, 年齢 ASC” 正しくソートされる
“state A, 年齢 A” 正しくソートされる
計算フィールド名 半角スペースなし “state A,年齢” 正しくソートされない
“state A,年齢 ASC” 正しくソートされない
“state A,年齢 A” 正しくソートされない
半角スペースあり “state A, 年齢” 正しくソートされる
“state A, 年齢 ASC” 正しくソートされる
“state A, 年齢 A” 正しくソートされる

上記のように計算フィールド名の場合、第 2 ソート以降でカンマ ( , ) とカラム名の間に半角スペースが入っていると正しくソートされますが、入っていないと正しくソートされません。ただし、カラム名の場合に限って、カンマ ( , ) とカラム名の間に半角スペースがなくても、明示的に昇順 / 降順をアルファベット 1 文字で指定すると正しくソートされます。この場合、ASC または DESC で指定しても正しくソートされません。

回避策

本不具合に関する回避策は以下となります。

  • カラム名の場合は第 2 ソート以降でカンマ ( , ) とカラム名の間に半角スペースを入れるか、昇順 / 降順をアルファベット 1 文字で指定してください。
  • 計算フィールド名の場合は第 2 ソート以降でカンマ ( , ) と計算フィールド名の間に必ず半角スペースを入れてください。

なお、昇順 / 降順の指定については大文字 / 小文字の区別はなく、どちらを使用しても構いません。

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