• 締切済み

データコントロールのRefreshができません

フォームにデータコントロール(以下Data1)と MSFlexGrid(以下グリッド)を貼り付けて MDBのデータを表示しています。 コマンドボタン押下のタイミングで、該当テーブルを更新し、 グリッドに更新されたデータを再表示しようとしていますが、 Data1にRefreshをかけてもグリッドのデータが更新されません。 何かご存知の方がいらっしゃったら、ご教授いただければと思います。 グリッドのDataSourceプロパティにはData1が設定してあります。 テーブルですが、どれも2件ずつしか入っていません。 フォームロード時の表示はうまく動作しています。 インタープリタでステップ実行すると、きちんと更新データが表示されます。 コードです(簡略化してあります)↓ sub Form_Load with Data1 .Database = MDB名 .RecordSource = "SELECT x.a,y.b FROM x,y WHERE x.a=y.a" end with end sub sub Command1_Click() ここでMDB更新  (複数件処理のためSQLにて更新処理を実施しています。   トランザクション管理ありです。) with Data1 .Recordset.Requery .Refresh end with end sub 環境です↓  VB6.0 SP6  DAO3.6  Access2000  Win2000 よろしくお願いいたします。

みんなの回答

回答No.1

思い切って、MSFlexGridでデータ連結させるの辞めるのは如何ですか? 私も同じ様な経験をして結局、文化オリエント社のスプレットに乗せ変えた記憶があります 又は、アクセスフォームを呼び出すとか(開発工数削減には有効な手段だと思います) データ連結コントロールはイマイチ使えないんですよね・・・。 時間が在れば、GUIとしてMSFlexGridを利用して、 ロジックでMSFlexGridから値取得し、更新処理は自分でSQL書いて実行した方が、データ連結が上手く出来ずにイライラする事無いと思いますよ。

sugar_donut
質問者

お礼

レスありがとうございます。 ある意味一番欲しかった回答をいただけたと思っています。 ダメなのですね、データコントロールの連結では・・・。 そうとわかれば、SQLでチマチマやるようにしたいと思います。 (有料コントロールは使ってはダメ!とのお達しがあって 使えないのです・・・) 「アクセスフォームの呼び出し」については 目からウロコのお話でした。 そうですね、そういったこともできますよね。 今後の開発での参考にさせていただきたいと思います。 回答ありがとうございました。

関連するQ&A

専門家に質問してみよう