DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DBComboの空白表示について

環境/言語:[WinXP Pro]
分類:[VB6以前]

[環境] VB6.0 SP6
Access2003
DAO3.6

DBComboについての質問です。
DBComboとmdbファイルをDAOを用いて接続して、
mdbのデータをdbcDropDownComboスタイルで表示しようとしています。
表示自体は成功しているのですが、DBComboをクリックしてデータを表示する際に
データ数が少ないと空白行が表示されてしまいます。
現在確認している状態は以下の通りです。
○表示データ5件の場合 -> 空白行3行表示
○表示データ7件の場合 -> 空白行1件表示
○表示データ8件の場合  -> 空白行無し
○表示データ10件の場合 -> 垂直スクロールバーで部分表示、空白行無し

表示データが8件より少ない場合に空白行が表示されているようですが、
この空白行は削除することは可能でしょうか?

どなたか解決策をご存知の方がいらっしゃいましたら
ご指導いただけると幸いです。
■No5697に返信(まんもーにさんの記事)
> 表示自体は成功しているのですが、DBComboをクリックしてデータを表示する際に
> データ数が少ないと空白行が表示されてしまいます。

自分も、実際試してはいないのですが、Helpを見る限りの情報を参考までに。

"IntegralHeight"プロパティがFalseですと、リストの高さが固定のようです。
ただ、Falseにすると、リストの高さが可変になりますので、
最大行数以上ではスクロール・・・とかできないかもしれません。
こんにちわ、でぶねこさん。
レスありがとうございます。

■No5729に返信(でぶねこさんの記事)
> "IntegralHeight"プロパティがFalseですと、リストの高さが固定のようです。
> ただ、Falseにすると、リストの高さが可変になりますので、
> 最大行数以上ではスクロール・・・とかできないかもしれません。

ご指摘頂いた"IntegralHeight"のプロパティに注目してテストを行ってみました。
@IntegralHeightをTrue,styleをdbcDropdownComboにして実行
AIntegralHeightをTrue,styleをdbcDropdownListにして実行
BIntegralHeightをFalse,styleをdbcDropdownComboにして実行
CIntegralHeightをFalse,styleをdbcDropdownListにして実行

上記の4パターンでテストを行ってみましたが、DBComboの表示に変化は認められませんでした。。。
なお、VB4.0で同様のテストを行ってみましたがIntegralHeightをTrueにした場合には、DBComboの空白行は削除して表示されました。
VB6.0では空白行の削除を行うにはIntegralHeightの設定だけでは駄目なのでしょうか?
■No5742に返信(まんもーにさんの記事)
> ご指摘頂いた"IntegralHeight"のプロパティに注目してテストを行ってみました。
> @IntegralHeightをTrue,styleをdbcDropdownComboにして実行
> AIntegralHeightをTrue,styleをdbcDropdownListにして実行
> BIntegralHeightをFalse,styleをdbcDropdownComboにして実行
> CIntegralHeightをFalse,styleをdbcDropdownListにして実行

だめでしたか(;_+
追加で調べてみましたら、"VisibleCount"プロパティなる物がありました。
設計時(プロパティ画面)には存在しませんが、実行時に設定できるようです。
”リストに表示される項目数を指定します。”とHelpが成っていますので、
まさしくこれかもしれませんね、時間のあるときに試してください。
当方、access環境が無い為に、ちょちょいと試せない物で(^^;
■No5755に返信(でぶねこさんの記事)
> ■No5742に返信(まんもーにさんの記事)
>>ご指摘頂いた"IntegralHeight"のプロパティに注目してテストを行ってみました。
>>@IntegralHeightをTrue,styleをdbcDropdownComboにして実行
>>AIntegralHeightをTrue,styleをdbcDropdownListにして実行
>>BIntegralHeightをFalse,styleをdbcDropdownComboにして実行
>>CIntegralHeightをFalse,styleをdbcDropdownListにして実行
>
> だめでしたか(;_+
> 追加で調べてみましたら、"VisibleCount"プロパティなる物がありました。
> 設計時(プロパティ画面)には存在しませんが、実行時に設定できるようです。
> ”リストに表示される項目数を指定します。”とHelpが成っていますので、
> まさしくこれかもしれませんね、時間のあるときに試してください。
> 当方、access環境が無い為に、ちょちょいと試せない物で(^^;

すみません、だめでした。
これは参照専用のようです。(;_; ごめんなさい〜
> すみません、だめでした。
> これは参照専用のようです。(;_; ごめんなさい〜
>
いえいえ、情報のご提供ありがとうございました^^

プロパティを色々いじってみましたがどうしても解決できないので
MSに問い合わせてみました。
その結果。。。
「8行表示するのは仕様です。コーディングでも回避できません」
って回答が来ました;;

というわけで、ComboBoxを使うorあきらめる事にします。。。
でぶねこさん、アドバイスありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板