
3/4に質問したものと同一内容ですが、解答が付かず、また納期が迫りましたので、困り度を上げて再質問させて頂きます。
WinXP環境下でVB6sp5+Access2002で開発を行っています。
コンボボックスAで条件設定(確定はロストフォーカス/又はクリック)を行い、アクセスmdbから抽出した情報をコンボボックスBのアイテムへ取込んで表示をさせています。共にIntegralHeightはTureです。
複数回実行する時、コンボBの抽出結果リストが前回より少ない(リストの高さが低い)場合、余剰部分が画面上に空白のまま残ってしまう様です。
画面を「最小化」後、「元のサイズに戻す」等行えば消えます。…が、いかにも抜け道臭いので、解消方法を教えてください。
No.2ベストアンサー
- 回答日時:
コンボボックスだから、通常はテキスト入力域の1行と
「下向き黒三角マーク」だけしか表示されていないんですよね?
だから、おっしゃっている「残像」の意味というか、実際の
状況がイマイチ見えないのですが...
コンボボックスに新たな抽出データを取り込んだ後で、
[ComboBox名].Refresh
を実行してみてはどーでしょ??
それでだめなら
[Form名].Refresh
では、どーでしょか?!
フォームに貼り付けたコントロールやらが多いと
ちらつくかもしれませんが...
(見当違いだったらスンマセン)
この回答への補足
回答有難うございます。
残像とはプルダウンしてくるリスト部分の事です。
明細は消え(正しく編集され)るのですが、余分となった部分の表示が残ってしまいます。
次の操作に移る際、項目選択した(正しい)部分は消え、重なっていた部分の表示が再び表示されます。が、余分の部分が消えずフォームや他のオブジェクト上に残ってしまいます。
01殿のアドバイスにも有った[Form名].Refreshを掛けた所、フォーム部分に重なっている所は消えました。が、この方法だけではListBoxと重なる部分については消えない様です。ListBoxにもRefreshを掛けてみた所、残像は一見消えたのですが、FormとListBoxの境界線が欠けました(汗)
とりあえず、これでリリースの方向ですが、この補足で更なる妙案が有りましたら、宜しくお願い致します。
情報の取込み方法をLostFocusにすると、プルダウン実行時に発動して、前情報を表示と同時に情報更新(上書き)が行われる様です。この為、更新後に使わない部分が残像として残ってしまう様です。
(同処理をClickで実行すると再現しない様です)
選択方法を両方併記する事で、事態は解消した様です。
色々なオブジェクトにリフレッシュをかけてみた事がヒントになりました。有難うございました。
No.3
- 回答日時:
>Doイベントのと云う事でDoWhileループの追加を行ってみましたが、特に効果は無い様でした。
あ、そうじゃないんです。DoEvents というステートメントです。ヘルプで DoEvents を見てみてください。
( DoEvents で解消されるという確証はありませんが。)
この回答への補足
丁寧なフォローを有り難うございます。
…確認しました。昨日の検索時に見つけられませんでした(汗)
回答の例と同様の処理なのでリスト作成Loopの前や中にDoEventを追加してみましたが、変化は見られず=解消には到りませんでした。残念です。
chipmoguraさんのお礼に書きましたが、どうやらイベントキックで並列処理になっている事が問題だった様です。
色々ヒントを頂き、有難うございました。
No.1
- 回答日時:
私も以前、同じような症状を見たことがあります。
が、何をどうしたからなのかよくわからないのですが、いつの間にか再現しなくなってました。私が開発していたものは WinXP + VB6 + Oracle OO4O の組み合わせで、
(1) OraDynaset ( ADO や DAO の Recordset のようなもの ) を取得
(2) Loop でコンボボックスのリストをセット
のようにしていたのですが、他の問題があって、(1) と (2) の間に DoEvents を入れたことがありました。
確証はないのですが、DoEvents を入れてから再現しなくなったような気がします。
あと、DoEvents を入れても解消しない場合、今ちょっと思いついたのですが、「最小化→元にサイズに戻す」の代わりに「 Me.Show 」( Me は自フォーム ) はどうでしょうか。Me.Show だけではダメなら、一度 Me.Hide してから .Show するとか。もしこれで解消されるなら「最小化→元に戻す」よりは見た目まだましかなぁ、と。
この回答への補足
回答有難うございます。
Doイベントのと云う事でDoWhileループの追加を行ってみましたが、特に効果は無い様でした。
具体的にどの様なイベントを追加されたか思い出されましたら、お教え願えますでしょうか。
Me.showも単独では効果が無いようです。
Hideの併用は画面のちらつきとカーソル連打が恐いので、遠慮することにしました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBA ドロップボックスで月を選択するとそれ以降のデータが残るようにしたい。 3 2022/12/16 14:53
- Excel(エクセル) 【詳しい方教えて下さい】EXCEL条件に一致する値の複数抽出 9 2022/04/29 10:56
- Excel(エクセル) Excel(エクセル)でフィルター抽出後、非表示の行を計算しないで、合計を算出する方法 【内容】 添 4 2023/01/30 17:17
- HTML・CSS VB.net コンボボックス 2 2022/06/30 20:37
- 邦画 福山雅治 主演映画『真夏の方程式』は安倍晋三銃撃事件をアレンジした作品なのですが、わかりますか? 3 2022/07/09 08:26
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Excel(エクセル) Excelの数式についての質問 1 2022/10/31 15:50
- WordPress(ワードプレス) WordpressでYouTubeの埋め込みができない。 1 2022/10/26 01:08
- Windows 10 再起動後 Pinが使用できず、PC(windows11)にサインインできない 3 2022/08/30 20:53
- Excel(エクセル) エクセルでキーリストからデータを取り出して1枚1枚印刷するには? 11 2022/06/27 09:52
このQ&Aを見た人はこんなQ&Aも見ています
-
「それ、メッセージ花火でわざわざ伝えること?」
「それ、メッセージ花火でわざわざ伝えること?」というメッセージを教えて下さい
-
【お題】動物のキャッチフレーズ
【お題】「百獣の王 ライオン」「実は動物界最強 カバ」は分かるけど、それはちょっとピンと来ないなと思った動物のキャッチフレーズ
-
人生で一番思い出に残ってる靴
皆さんの人生で一番思い入れのある靴の話を伺ってみたいです。
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
カラオケの鉄板ソング
歌えばその場が絶対盛り上がる「鉄板ソング」を教えてください!
-
コンボボックスでドロップダウンリストにしたときに・・・・
Visual Basic(VBA)
-
コンボボックスの開いたリストを閉じるには
Access(アクセス)
-
「タイプ初期化子が例外をスローしました」エラー何?
Visual Basic(VBA)
-
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.NETで他のEXEを実行させる
-
vlan internal allocation poli...
-
TXTファイルを上書き保存する前...
-
Excel VBAで作成したマクロをxl...
-
teratarmでコマンド入力すると...
-
Ubuntu でinvalid filenameとな...
-
共有しているファイルを削除し...
-
エクセルでファイルの最終更新...
-
YAHAMA RTXシリーズのコマンド...
-
DirectShowでフィルタの削除
-
1つのフォルダには何個までのフ...
-
サブディレクトリも含めて最新...
-
読み取り専用ファイルを上書き...
-
沢山のフォルダにあるファイル...
-
Excel VBAで、グラフを特定のセ...
-
マイドキュメントのフォルダの...
-
VBScriptで日本語が変です
-
一定時間経過させるコマンドは?
-
ipodの!マークについて
-
VBA メモ帳の上書き保存がしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで他のEXEを実行させる
-
C#で他のPCのサービスの起動...
-
if文の条件に関数が入ってる場...
-
シェルスクリプトに引数を渡す...
-
再質問 コンボボックス リス...
-
python スクリプトファイルの実行
-
VBSでクエリを実行→クエリでテ...
-
Word・Excelの「Ctrl+Y」につい...
-
マシンをスタンバイの状態にし...
-
コマンドプロンプトにてコマン...
-
vlan internal allocation poli...
-
エクセルでファイルの最終更新...
-
teratarmでコマンド入力すると...
-
TXTファイルを上書き保存する前...
-
沢山のフォルダにあるファイル...
-
YAHAMA RTXシリーズのコマンド...
-
共有しているファイルを削除し...
-
onedriveで同期解除をしたら、...
-
WindowsからSSHでサーバーにあ...
-
Edgeでダウンロード状況表示画...
おすすめ情報