2012-03-20 5 views
1

http://i.stack.imgur.com/NhBss.jpgのRequery VBA

を使用してAccessでサブテーブルは、本契約のitmes(親)とサービスの詳細(子)を形成します。私はサブフォームではなく、サブフォーム(tService)を使用してサービス情報を表示しました。テーブルにしかないサブデータシート機能を利用したいのです(サブテーブルをDHBサービスの情報)(1対1)。

tServiceサブフォーム用の2つの異なるサブデータシートを切り替えるボタン(機能/ DHB参照)を使用したいと考えています。コードは以下の通りです。

問題は、フォーム全体を閉じて再度開くまで、サブデータシートは自動的に更新されないということです。ユーザーがクリックするたびにフォームを閉じて開くことができます。しかし、それは醜いようです。サブデータシート情報が有効になるようにtServiceを再クエリまたは更新する方法はありますか?

Private Sub cmdDHBs_Click() 
Dim MyDB As DAO.Database 
Set MyDB = CurrentDb 
MyDB.TableDefs("tService").Properties("SubDataSheetName") = "Table.tServ_DHB" 
MyDB.Close 
Call RefreshTable 'How? 
End Sub 

私が働いて試していないもの:!!!! フォームをf3AgreeService.Refresh フォームf3AgreeService.Recalc フォームf3AgreeService.Query フォームf3AgreeService.Repaint

+0

このアプリケーションを複数のユーザーで使用する場合は、あなたは自分自身のために問題を解決しています:http://allenbrowne.com/bug-09.html – Fionnuala

+0

なぜあなたはexpalinできますか?私は添付のリンクを読むが、それはautoにsubdatasheetプロパティを設定することです。そして、リンクされたテーブルを更新する最良の方法は何ですか?一つずつ? – flyerwolf

+0

既に問題が発生しています。これらは悪化する可能性が高い。サブフォームまたはフォームを使用して、関連するテーブルを更新することができます。 – Fionnuala

答えて

0

あなたは本当にこれを行うに主張する場合サブデータシートを変更した後に、サブフォームのソースオブジェクトをリロードすることができます。

Me.MySubformName.SourceObject = "Table.tService"