
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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.NETで他のEXEを実行させる
-
C#で他のPCのサービスの起動...
-
BASICインタープリター言...
-
ファイル名の日付について教え...
-
if文の条件に関数が入ってる場...
-
WindowsでPythonで外部コマンド...
-
VBSでクエリを実行→クエリでテ...
-
Ruby初心者です。
-
WindowsからSSHでサーバーにあ...
-
vlan internal allocation poli...
-
エクセルでファイルの最終更新...
-
共有しているファイルを削除し...
-
Excel VBAでほかのアプリケーシ...
-
USBデータの消失
-
TXTファイルを上書き保存する前...
-
マイドキュメントのフォルダの...
-
CPコマンドでファイルがコピー...
-
ls であるファイル以外を表示し...
-
バッチファイルでファイル移動...
-
USB内のフォルダが「ファイル」...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで他のEXEを実行させる
-
再質問 コンボボックス リス...
-
C#で他のPCのサービスの起動...
-
if文の条件に関数が入ってる場...
-
コマンドプロンプトにてコマン...
-
マシンをスタンバイの状態にし...
-
ファイル名の日付について教え...
-
Word・Excelの「Ctrl+Y」につい...
-
シェルスクリプトに引数を渡す...
-
Audioサービスが実行されていま...
-
VBAの乱数について質問
-
BASICインタープリター言...
-
VBSでクエリを実行→クエリでテ...
-
WSHController/CreateScriptはa...
-
vlan internal allocation poli...
-
エクセルでファイルの最終更新...
-
共有しているファイルを削除し...
-
teratarmでコマンド入力すると...
-
YAHAMA RTXシリーズのコマンド...
-
TXTファイルを上書き保存する前...
おすすめ情報