質問 |
||
| QNo.4023919 | Access 抽出したデーターの詳細の連続表示 | |
|---|---|---|
| 質問者:ja2bzx |
Filterで抽出した複数のデーターの詳細をそのデーターの順で連続して表示したいのでご指導ください。 F_物件検索 (メインフォーム) F_検索結果 (サブフォーム用) sub検索結果 (サブフォーム) F_店頭用 (詳細表示用) 抽出された最初のデーターの詳細を表示する場合は下記の通りで問題なく動作します。 Private Sub cmd物件詳細_Click() DoCmd.OpenForm "F_店頭用", acNormal, , "物件番号 = " & Me!sub検索結果.Form!物件番号, acFormReadOnly End Sub 上記で表示されたF_店頭用の詳細画面に【次へ】のボタンをAccessのマクロで設定しても、表示されるデーターは抽出されたものではなく、テーブルのデーター順に表示されます。 そこで、OpenFormコマンド、他で何とかならないものでしょうか? 下記ではエラーがでます。 Private Sub cmd連続詳細_Click() DoCmd.OpenForm "F_店頭用", , Me!sub検索結果, acFormReadOnly End Sub 尚、全てのデーターは下記にあります。 www.ky-housing.jp/oshiete-goo/q-2.accdb |
|
困り度:
|
||
| 質問投稿日時: 08/05/15 12:43 |
||
回答良回答20pt |
|
| ANo.4 | >VBAのプログラムだけで抽出しているため、 >詳細表示のフォームにAccessのNEXTボタンを付けた場合、 >抽出したデーターではなく、 >テーブルのデーターをそのまま順次表示してしまいます。 やっぱり意味が判りません。 詳細表示のフォームに WHERE節をしてするのとVBAのプログラムだけで抽出は矛盾。 それに抽出もしていないレコードデータを参照するコマンドボタンの必要性も今一。 ID__fld_1__fld_2 _1__A____________2 _2__B____________1 _3__C____________3 例えば、 Private Sub コマンド0_Click() DoCmd.OpenForm "tab1", acNormal, , "fld_2=2" End Sub 質問文のみで判断すれば、このようにフォーム[tab1]を条件節を指定してオープン。 が、フォーム[tab1]のロードイベントでもレコードソースをセットしている。 ならば、条件節を指定する意味がないです。 どうしても、フォーム[tab1]のロードイベントでレコードソースを設定する必要があれば・・・。 Private Sub コマンド0_Click() DoCmd.OpenForm "tab1", acNormal, , , , , _ "SELECT * FROM tab1 WHERE fld_2=2 ORDER BY fld_2" End Sub と、レコードソースそのものをフォーム[tab1]のオープン時に指定。 Private Sub Form_Load() If Len(Me.OpenArgs & "") Then Me.RecordSource = Me.OpenArgs End If End Sub Private Sub コマンド8_Click() DoCmd.GoToRecord , , acNext End Sub >尚、全てのデーターは下記にあります。 そんな、得体の知れないファイルをダウンロードする勇気はないです。 簡潔に、解決したい問題点を整理して提示されたし。 「出来ない」という事情説明よりも、解決すべき問題点の提示が肝心。 と、思います。 |
|---|---|
| 回答者:Husky2007 | |
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| 回答日時: 08/05/16 10:33 |
|
| |
| この回答への補足 | ご指導ありがとうございます。詳細フォームに検索結果のレーコードソースを設定すべく悪戦苦闘中です。(エラー続発)改めてご指導を戴くことになると思いますが、しばらくはいろいろ試してみます。ありがとうございました。 |
| この回答へのお礼 | サブフォームで抽出したデーターをレコードセットして再利用することには失敗しましたが、詳細フォームを開く際に同一条件で再度フィルターを掛けることで一応目的を達成することができました。ただ、新たな問題が発生しました。 Private Sub 次へ_Click() DoCmd.GoToRecord , , acNext End Sub これで移動はできますが、次のレコードが無いのに「次へ」をクリックするとエラー表示と一緒にプログラムまで表示されてしまいます。そこで、次のレコードがない場合にクリックを無効にしたいのですが、方法はありますか? |
回答 |
|
| ANo.3 | >VBAのフィルターで抽出しています。 >従って、クエリーがないので詳細フォームのデーターソースをクエリーにすることができません。 できます |
|---|---|
| 回答者:CHRONOS_0 | |
| 種類:回答 どんな人:経験者 自信:自信あり |
|
| 回答日時: 08/05/15 23:59 |
|
| |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答 |
|
| ANo.2 | F店頭用のソースを表示したい順番に並べ替えを指定したクエリにしておけばいいのでは |
|---|---|
| 回答者:CHRONOS_0 | |
| 種類:回答 どんな人:経験者 自信:自信あり |
|
| 回答日時: 08/05/15 13:52 |
|
| |
| この回答への補足 | VBAのフィルターで抽出しています。従って、クエリーがないので詳細フォームのデーターソースをクエリーにすることができません。 抽出結果は検索結果のフォームに表示されているのですが、詳細フォームのプロパティーでデーターソースを検索結果に変えることができないのです。Access2003をご使用でしたら、私のデーター(プログラム)を見て戴ければ私の質問をご理解戴けると思います。 |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答 |
|
| ANo.1 | >上記で表示されたF_店頭用の詳細画面に >【次へ】のボタンをAccessのマクロで設定しても、 >表示されるデーターは抽出されたものではなく、 >テーブルのデーター順に表示されます。 抽出されてもいないデータが表示されるなんありえないのでは? |
|---|---|
| 回答者:Husky2007 | |
| 種類:補足要求 どんな人:一般人 自信:参考意見 |
|
| 回答日時: 08/05/15 13:18 |
|
| |
| この回答への補足 | Accessのクエリーには何ら手を加えておりません。VBAのプログラムだけで抽出しているため、詳細表示のフォームにAccessのNEXTボタンを付けた場合、抽出したデーターではなく、テーブルのデーターをそのまま順次表示してしまいます。 |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |