> ひとつ質問があります。 ハイハイ、なんでしょう。
> 検索の際に、DBエラーなどが発生した際には、フォームをUnload > させるようにClickイベント内に組んだのですが、Clickイベント > 内ではUnloadできないらしく、「エラー時にはフォームを閉じる」 > ということが実現できません。。
これ前にもありました。 下の方に ”Re: Loadしたコントロール配列の削除” というのがあると思います。 これは Load したコントロールを削除できない という事だったんですけど、 理由はいっしょでしょう。 ComboBoxのクリックではUnloadできないようです。 このときは、かなり邪道な方法で逃げたのですが、 <実用に耐えれませんでした。(--;
なので、以下の方法でどうでしょうか。
'**************************** Option Explicit
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Const WM_CLOSE = &H10
Private Sub Combo1_Click() If Combo1.ListIndex = 0 Then Form2.Show ElseIf Combo1.ListIndex = 1 Then Call PostMessage(Form2.hwnd, WM_CLOSE, 0, 0) End If End Sub
Private Sub Form_Load() With Combo1 'style = 2 .AddItem "LOAD" .AddItem "UNLOAD" End With End Sub
'**************************** フォームを2枚用意して(Form1,Form2)、Form1にCombo1を置きます。 あとはForm1にこのソースを張りつけて、テストして見てください。 きっと、ご希望の動作が実現できると思いますよ。(エラーチェック等は自分でしてね。)
ご報告待ってます(^^)
では。
|