Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2073 / 2272 ツリー ←次へ | 前へ→

【3915】Requeryについて キッコーマン 04/11/27(土) 22:12 質問[未読]
【3916】Re:Requeryについて Gin_II 04/11/27(土) 22:22 回答[未読]
【3917】Re:Requeryについて キッコーマン 04/11/27(土) 22:27 質問[未読]
【3918】Re:Requeryについて Gin_II 04/11/28(日) 0:28 回答[未読]
【3977】Re:Requeryについて キッコーマン 04/12/7(火) 14:37 発言[未読]
【3940】Re:Requeryについて ぬぅ 04/12/2(木) 13:46 発言[未読]
【3946】Re:Requeryについて キッコーマン 04/12/3(金) 13:13 質問[未読]
【3949】Re:Requeryについて ぬぅ 04/12/3(金) 17:00 回答[未読]
【3951】Re:Requeryについて キッコーマン 04/12/4(土) 12:57 質問[未読]
【3964】Re:Requeryについて ぬぅ 04/12/6(月) 17:37 発言[未読]
【3976】Re:Requeryについて キッコーマン 04/12/7(火) 14:29 発言[未読]
【3983】Re:Requeryについて ぬぅ 04/12/7(火) 17:40 発言[未読]
【4017】Re:Requeryについて キッコーマン 04/12/11(土) 15:31 お礼[未読]

【3915】Requeryについて
質問  キッコーマン  - 04/11/27(土) 22:12 -

引用なし
パスワード
   またまた質問です。
メインフォームにて検索条件を入力し、対象となるレコードをサブフォームにて表示する際、内容が1レコードしか表示されません。これは”Requery”のせいですか?
よろしくお願いいたします。

【3916】Re:Requeryについて
回答  Gin_II  - 04/11/27(土) 22:22 -

引用なし
パスワード
   >内容が1レコードしか表示されません。これは”Requery”のせいですか?

これだけでは、状況がよく分かりません。
メインフォームには、条件入力用の非連結のコントロールを置いてあるのでしょうか?

それならば、サブフォームを使わずとも、フォームヘッダーにコントロールを
作成し、詳細セクションに表示させるようにすればいいと思いますが。

【3917】Re:Requeryについて
質問  キッコーマン  - 04/11/27(土) 22:27 -

引用なし
パスワード
   ▼Gin_II さん:
ごもっともです。
メインフォームに条件入力用の非連結のコントロールを置いてます。
で、サブフォームに表示させたいと考えております。

しかし、途中経過としてテーブルには検索した結果データが入っているにもかかわらず、フォームでは1レコードしか表示されないという状況です。

【3918】Re:Requeryについて
回答  Gin_II  - 04/11/28(日) 0:28 -

引用なし
パスワード
   > それならば、サブフォームを使わずとも、フォームヘッダーにコントロールを
> 作成し、詳細セクションに表示させるようにすればいいと思いますが。

これじゃ、ダメなんですか?

【3940】Re:Requeryについて
発言  ぬぅ  - 04/12/2(木) 13:46 -

引用なし
パスワード
   キッコーマン さん、こんにちは。

サブフォームのレコードソースは、作業用のワークテーブルで、
抽出したデータはそのワークテーブルに書き込まれているのでしょうか?
テーブルに書き込んだ後でサブフォームをRequeryされているなら
特に問題はないかと思いますが・・・何かあるのかもしれませんね?
ところで、少し確認していただきたいのですが、サブフォームの
既定のビューは何になっているのでしょうか?

【3946】Re:Requeryについて
質問  キッコーマン  - 04/12/3(金) 13:13 -

引用なし
パスワード
   ▼ぬぅ さん:
ぬぅさん、お返事ありがとうございます。

>サブフォームのレコードソースは、作業用のワークテーブルで、
>抽出したデータはそのワークテーブルに書き込まれているのでしょうか?
→サブフォームのレコードソースはおっしゃる通りワークテーブルです。
 途中、中断してテーブルを確認しても検索条件どおりのレコードが入っていることは確 認できています。

>テーブルに書き込んだ後でサブフォームをRequeryされているなら
>特に問題はないかと思いますが・・・何かあるのかもしれませんね?
→そうですね、ちゃんと追加クエリのあとには ”Me.Requery”を書いています。
 なにが原因なのか困っているのです。。。Me.Requeryのほかにしないといけない
 Requeryがあるのでしょうか?

>ところで、少し確認していただきたいのですが、サブフォームの
>既定のビューは何になっているのでしょうか?
→サブフォームの既定ビューは「帳票フォーム」にしています。
 なにか問題ありますかね?

よければご回答ください。お願いいたします。

【3949】Re:Requeryについて
回答  ぬぅ  - 04/12/3(金) 17:00 -

引用なし
パスワード
   キッコーマンさん、こんにちは。

>→そうですね、ちゃんと追加クエリのあとには ”Me.Requery”を書いています。
> なにが原因なのか困っているのです。。。Me.Requeryのほかにしないといけない
> Requeryがあるのでしょうか?

Me.Requery は、メインフォームをRequeryしていることになりますね。
サブフォームをRequeryするには、Me![サブフォーム名].Requery ではないでしょうか?

【3951】Re:Requeryについて
質問  キッコーマン  - 04/12/4(土) 12:57 -

引用なし
パスワード
   ぬぅ さんへ

こんにちわ。お返事ありがとう。

>Me.Requery は、メインフォームをRequeryしていることになりますね。
>サブフォームをRequeryするには、Me![サブフォーム名].Requery ではないでしょうか?

下記のように書き換えてみたんですが、やはりなぜか1件しか表示されません。
書くタイミングはあっていると思うんですが、他になにか影響すること等ありましたら
ぜひお教えください。

**追加クエリの実行(サブフォームのレコードソースであるワークテーブルへ)******

DoCmd.SetWarnings False

DoCmd.OpenQuery "Q_CHECK1_04", acViewNormal, acEdit ←追加クエリの実行

DoCmd.SetWarnings True

'Me.Requery ←コメントブロックしてみた

Me!SUB_KSMD06.Requery ←サブフォーム「SUB_KSMD06」をRequery

***********************************************************************

【3964】Re:Requeryについて
発言  ぬぅ  - 04/12/6(月) 17:37 -

引用なし
パスワード
   ▼キッコーマン さん、こんにちは。
この件は、なぜかレスが付かないみたいですね・・・

「1件しか表示されない」という状況が少し分かりにくいのですが・・・?
サブフォームで移動ボタンを表示させて
ワークテーブルにデータが複数レコードある状態で
帳票ビューになっているサブフォームを表示しても1件だけなのでしょうか?
移動ボタンで次のレコードへ移動してみるなど試してみて、どうなったのかなどの
状況が分かった方が、他の方からの回答も付きやすいかと思います。

移動ボタンで移動したら1件ずつ次のレコードが表示されるのなら
帳票ビューにしないといけない所を単票ビューだったとか
詳細セクションにコントロールを配置しないといけないのに、サブフォームの
ヘッダー・フッターに配置していた・・・などが原因かと思います。

ところで・・・
Gin_IIさんからの、サブフォームを使わないで表示させる案ではダメなの?
についての「そうしない事情」は回答なさらないのでしょうか?
Gin_IIさんを始めとする常連のみなさんは、いつも的確な回答を即答されているので
事情とか状況が分かれば、目からウロコの案がでてくるかもしれませんよ。

【3976】Re:Requeryについて
発言  キッコーマン  - 04/12/7(火) 14:29 -

引用なし
パスワード
   ▼ぬぅ さん こんにちわ☆
お返事たびたびありがとうございます。
あたしの説明はかなりわかりにくいと思います・・・実は最近、初めてACCESSを使い始めたばかりのばりばりの初心者なもので。。。説明不足で申し訳ないデス(T-T)。
ご意見お試しさせていただきました!

>サブフォームで移動ボタンを表示させて
>ワークテーブルにデータが複数レコードある状態で
>帳票ビューになっているサブフォームを表示しても1件だけなのでしょうか?
→もちろん、ワークテーブルには複数のレコードがある状態で、サブフォームに移動ボ タンをつけて移動してみても、やっぱりサブフォームには1レコードしかない状態でし た。
 ところが、メインフォームに移動ボタンをつけてみて移動しますと、検索結果のレコー ドが件数分表示されました。きっとどこかに原因がありますよね。

>移動ボタンで移動したら1件ずつ次のレコードが表示されるのなら
>帳票ビューにしないといけない所を単票ビューだったとか
>詳細セクションにコントロールを配置しないといけないのに、サブフォームの
>ヘッダー・フッターに配置していた・・・などが原因かと思います。
 →サブフォームは帳票ビュー、メインフォームは単票ビューです。
  メインフォームの詳細にはサブフォーム、ヘッダーには検索条件用の非連結テキスト  ボックスと検索ボタンを設けています。
  サブフォームのヘッダーには項目表示用ラベル、詳細には検索結果表示用のテキスト  ボックスを複数設けていて、フッダーにはなにもありません。
  ・・・という簡単な仕組みだと考えているのですが、やはりメインフォームの移動ボ  タンによって表示されるということはなにか原因があるんですよね。

>ところで・・・
>Gin_IIさんからの、サブフォームを使わないで表示させる案ではダメなの?
>についての「そうしない事情」は回答なさらないのでしょうか?
>Gin_IIさんを始めとする常連のみなさんは、いつも的確な回答を即答されているので
>事情とか状況が分かれば、目からウロコの案がでてくるかもしれませんよ。
 →そうですね、大変的確な説明をすぐに返してくださって、かなり勉強になっていま   す。回答していないのは、その方法もありかなと別途作成していまして特に問題が
  ないのかどうか調べてみようと思っていたので、方法を決めたら返信しようと考えて  いました。あまりに失礼でしたね、反省いたします・・・。

なにか原因をもうすこし探ってみようと思います、のでアドバイス等があればぜひご教授くださいますようお願いしま〜す☆

【3977】Re:Requeryについて
発言  キッコーマン  - 04/12/7(火) 14:37 -

引用なし
パスワード
   ▼Gin_II さん:
お返事かなり遅くなりました!
ACCESS超初心者、キッコーマンです!

>> それならば、サブフォームを使わずとも、フォームヘッダーにコントロールを
>> 作成し、詳細セクションに表示させるようにすればいいと思いますが。
>
>これじゃ、ダメなんですか?

→Gin_IIさんのおっしゃった通り、詳細セクションによって表示する方法も作成してみました。特に問題はないと思ったのですが、いまさらながらですがサブフォームを使うメリットとしては外見の点についてが主になるのかな?とふとおもいました。別返信にて今の状況を書いていますが、Gin_IIさんのこの方法が一番安全かもしれないなぁ、などと思いました。
どっちにするかはもう少し悩んで勉強して作ろうと思います。勉強して身につけることが大切ですよね。
Gin_IIさんありがとう☆

【3983】Re:Requeryについて
発言  ぬぅ  - 04/12/7(火) 17:40 -

引用なし
パスワード
   キッコーマンさん、こんばんゎ。
素朴な疑問なので、回答ではありません。ごめんなさい。

メインフォームのレコードソースに何かテーブルを設定されていますか?
私もよくサブフォームを使って作っていますが、
リンク子フィールドと親フィールドに項目は設定していません。
キッコーマンさんはどうされてますか?

【4017】Re:Requeryについて
お礼  キッコーマン  - 04/12/11(土) 15:31 -

引用なし
パスワード
   ▼ぬぅ さん
ぬぅさん、こんにちわ★

またまたお返事ありがとうございます。
ぬぅさんのヒントにより無事解決しましたぁ〜♪♪

>リンク子フィールドと親フィールドに項目は設定していません。
 →そうです!このリンクフィールドに何も項目を設定せずに実行したところ、うまく表  示されました★1レコードしか表示されなかったのが全て表示されたのです。
  どうやらこれが原因でレコードが1件すつしか表示されなかったようでした。
  ヒントくださいましてありがとうございました!!!!!!!!!!!!
  超すっきりしました〜。感謝です(´∀`)

2073 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078222
(SS)C-BOARD v3.8 is Free