2012-03-01 8 views
1

私はフォーム上にコンボボックスを持っています。特定のラベルをクリックすると、このコンボボックスが非表示になります。問題は、コンボボックスにフォーカスがある場合、このコンボボックスを隠すボタンをクリックするとエラーが発生することです。このランタイムエラーをどのように解決できますか?msアクセス2007年にフォーカスを持っているコントロールを隠す

答えて

1

フォーカスを移動します。必要に応じて、フォーカスを受け取るための非常に小さなコントロールを作成します。

Me.SomeControlThatIsNotTheCombobox.SetFocus 

再このラベルは、コントロールに関連付けられていないことを

注意をコメント。

Private Sub Label1_Click() 
    Me.Text1.SetFocus 
    Me.Label1.Visible = False 
End Sub 
+0

+1透明なbgの小さなテキストボックスを使用してください。誰もフォーカスの変更を表示しません。 –

+0

新しい小さなテキストボックスにいつフォーカスを設定する必要がありますか? – user1175126

+0

ラベル、コンボボックス、またはその両方を隠していますか? – Fionnuala

0

ではなく、フォームの変更のコントロール場合、将来的にメンテナンス上の問題を引き起こす可能性があり、特定のコントロールにフォーカスを設定し、あなたがタブのキーを押すをシミュレートするならば、焦点はで次のオブジェクトに移動しますタブ順。

SendKeys "{TAB}" 
DoEvents 
Me.Command4.Visible = False 

注:タブの処理を許可するには、doeventsが必要です。

+0

もう一度同じ質問をします。このコードはどこに置くのですか?私はコンボボックスを隠すラベルのクリックイベントに入れてみました。私は同じエラーがあります。フォーカスのあるコントロールを隠すことはできません。 – user1175126

+0

SendKeysは決して良い考えではありません。私はWindows 7と同じだと想像しています。 – Fionnuala

+0

はい。最後に、私はうまく動作しないことに気付きました。コマンドボタンを使用していて、コントロールを隠すことができないはずです。私は今、同じコンボボックスを使用して、ラベルのクリックで異なるレコードを表示しています。 – user1175126

関連する問題