環境はVB6.0 + ADO です。
階層化レコードセットの、子レコードセットの方でrequeryしようとすると、
「コマンドオブジェクトに対してCommandTextが設定されていません」
とエラーが出てしまいます。具体的にはこんな感じです。
:
rec.Open "SHAPE {…} APPEND ({…} AS sub RELATE …)", …
:
set recSub = recordset.Fields("sub").Value
:
recSub.requery ←ここで上記のエラーが出る
rec.requeryと、親レコードセットのほうでrequeryしてやっても、子レコード
セットであるrecSubのほうまではrequeryされてないようです。
どうか解決法のご教授をお願いします。
自己レス。recSubを設定しなおしてやれば動きました。
recSubに連結した各オブジェクトのDataSourceも再設定する必要があるのが、
少々面倒ではありますが。
rec.Requery
:
set recSub = recordset.Fields("sub").Value
object.DataSource = recSub
:
もう少しスマートな方法もありそうな気がするので、解決印は保留します。
引き続き回答をお待ちしています、宜しくお願いします。
回答ではありません。(試していないので)
> rec.requeryと、親レコードセットのほうでrequeryしてやっても、子レコード
> セットであるrecSubのほうまではrequeryされてないようです。
・StayInSyncプロパティは、どちらのモードで運用されていますか?
・Requeyの替わりに、Resyncで代用できませんか?
アドバイスありがとうございます。
StayInSyncはtrueです。
Resyncは「更新に必要なキー列の情報が足りません」とエラーが出ました。
とりあえずプログラムは支障なく動いているので、解決印をつけたいと思います。
ありがとうございました。