dポイントプレゼントキャンペーン実施中!

フォームにデータコントロール(以下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

よろしくお願いいたします。

A 回答 (1件)

思い切って、MSFlexGridでデータ連結させるの辞めるのは如何ですか?



私も同じ様な経験をして結局、文化オリエント社のスプレットに乗せ変えた記憶があります

又は、アクセスフォームを呼び出すとか(開発工数削減には有効な手段だと思います)

データ連結コントロールはイマイチ使えないんですよね・・・。

時間が在れば、GUIとしてMSFlexGridを利用して、
ロジックでMSFlexGridから値取得し、更新処理は自分でSQL書いて実行した方が、データ連結が上手く出来ずにイライラする事無いと思いますよ。
    • good
    • 0
この回答へのお礼

レスありがとうございます。
ある意味一番欲しかった回答をいただけたと思っています。
ダメなのですね、データコントロールの連結では・・・。

そうとわかれば、SQLでチマチマやるようにしたいと思います。
(有料コントロールは使ってはダメ!とのお達しがあって
使えないのです・・・)

「アクセスフォームの呼び出し」については
目からウロコのお話でした。
そうですね、そういったこともできますよね。
今後の開発での参考にさせていただきたいと思います。

回答ありがとうございました。

お礼日時:2005/05/23 15:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!