[OSGeoJapan-discuss] QGISのテーブル間リレーションシップで、親レコードへの参照が勝手に書き換えられるバグ

Kohei Otsuka kochizufan @ gmail.com
2020年 6月 16日 (火) 07:46:42 PDT


喜多さん、林さん

大塚です。
ありがとうございます、どちらの方法でも問題なくなることを確認しました。
大変助かりました。

表示だけなら仕様とも言えるかもしれないですが、データが勝手に書き変わって
しまうのでこれはやっぱりバグかなあという気がします...。

2020年6月16日(火) 17:42 喜多耕一 <kou35tochas @ gmail.com>:

> 林さん
>
> 北海道の喜多です。
>
> 補足ありがとうございます。
> 確かに「コンボボックスの代わりに〜」にチェックをつけると、変更されなくなりました。
>
> でも、リンクでレコード数が90までしか対応してないのは、仕様というよりバグっぽいと思います。
> 気づかないで、データが勝手に書き換えられると、困っちゃいますよね(笑)
>
> 北海道 喜多
>
>
>
> 2020年6月16日(火) 16:37 林博文 <hayashi @ apptec.co.jp>:
>
>> 大塚さん
>> 喜多さん
>>
>> 喜多さんの補足です。
>>
>> fileをcsvで作成し、fileの属性をfid,poiid,name の3つ作成して、大塚さんのとおりにリレーション参照をセットしました。
>> fileの属性フォームのウィジットタイプがリレーション参照のとき、Display Expressionがnameにセットされました。
>> Display Expression
>> をfidに変更し、ウィジットタイプを「コンボボックスの代わりに読み取り専用ラインエディットを使用する」にするとよいです。
>>
>> なお、コンボボックスの場合ですが、コンボボックスのメンバーに代入されるのが初期100要素までになっているようです。
>> 当然初期リストに「191」がないので、リストの要素1番目が代入されるというクラスの動作になっているのでしょう。
>> 191にリレーション参照になっているfilesの1を選択して、1に変わったあと、191を手動でタイプすると、リストのメンバーに191が入るので、
>> 次にfilesの2,3,4を選択した時には、191は1には変わりませんでした。
>> バグというよりそういう仕様・・・・?かな
>>
>>
>>
>>
>> --
>> --------------------------------------------------
>> OSGeo.JP
>>  http://www.osgeo.jp
>> --------------------------------------------------
>> APPLIED TECHNOLOGY CO.,LTD.
>>
>> MANAGER
>> Engineering headquarters
>> Geospatial Information Section
>> GIS Expert
>>
>> HIROFUMI HAYASHI
>> hayashi @ apptec.co.jp
>>
>> Umeda Center Bldg. 2-4-12 Nakazakinishi
>> Kitaku, Osaka 530-0015 JAPAN
>>
>>   Tel: 06-6373-6121
>>   Fax: 06-6373-6126
>> --------------------------------------------------
>>
>>
>> 2020年6月16日(火) 12:03 喜多耕一 <kou35tochas @ gmail.com>:
>>
>>> 大塚さま
>>> みなさま
>>>
>>> 北海道の喜多です。
>>> 私もリレーションはよく使うので、テストデータを作って3.10で試してみました。
>>> 確かにリレーションを設定してあると、3桁の数字が勝手に編集され、1に置き換わってしまいました。
>>> バグだと思います。
>>>
>>>
>>> 回避方法としては、子レイヤのレイヤプロパティ→属性フォームで、リレーションしている属性のウィジェットタイプを「テキスト編集」に戻すことで、勝手に編集されるのは回避できるようです。
>>>
>>> あとは、編集されないように非表示にするかですね。
>>>
>>> どなたか、バグ報告していただければ嬉しいです。
>>>
>>> 北海道 喜多
>>>
>>> 2020年6月16日(火) 5:47 Kohei Otsuka <kochizufan @ gmail.com>:
>>>
>>>> 大塚です。
>>>> お世話になっております。
>>>>
>>>> QGISのテーブル間リレーションシップで、親レコードへの参照が勝手に
>>>> 書き換えられるバグが発生して困っております。
>>>> 何か対処法、ワークアラウンドなどないでしょうか。
>>>>
>>>> 現象としては以下のような感じです。
>>>> https://t.tilemap.jp/maplat/ol6bug/qgis_bug.mov
>>>>
>>>> poisというポイントテーブルのfidとfilesという位置情報なしテーブルのpoiidが
>>>> リレーションシップが張られており、当初poisのfid191番「いくつかの尊像」が
>>>> filesの1,2,3,4番、poisのfid90番「まんなおし地蔵」がfilesの246,247,248番と
>>>> リレーションシップが張られています。
>>>> ところが、編集モードでfilesの1,2,3,4を開いただけで、勝手にリレーション
>>>> シップがpoisのfid90番に書き換えられてしまい、poisのfid90番がfilesの1,2,3,4,
>>>> 246,247,248番とリレーションのある状態になってしまいます。
>>>> どうも、編集UI上でリレーション先の選択肢として取れる値がfid90で頭打ちに
>>>> なっているような感じです。
>>>>
>>>> 回避策などご存知の方おられましたら、教えていただければ幸いです。
>>>> よろしくお願いいたします。
>>>>
>>>> _______________________________________________
>>>> OSGeoJapan-discuss mailing list
>>>> OSGeoJapan-discuss @ lists.osgeo.org
>>>> https://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>>>
>>> _______________________________________________
>>> OSGeoJapan-discuss mailing list
>>> OSGeoJapan-discuss @ lists.osgeo.org
>>> https://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>>
>>
>>
>> 【秘密保持のお願い】このメールには機密情報や個人情報が含まれている可能性がございます。誤ってこのメールを受信された場合は、お手数ですがシステム上から削除いただき、送信者または管理者(
>> privacy @ apptec.co.jp)に御連絡頂ますようお願い申し上げます。
>>
>> Confidentiality Note: This email may contain confidential and/or private
>> information. If you received this email in error please  delete and notify
>> to sender or adminstrator(privacy @ apptec.co.jp).
>>
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://lists.osgeo.org/pipermail/osgeojapan-discuss/attachments/20200616/bb27ffd0/attachment-0001.html>


OSGeoJapan-discuss メーリングリストの案内