VBA編程中打開(kāi)、關(guān)閉窗體

字號(hào):

在一個(gè)程序中往往包含多個(gè)窗體,窗體在程序中用代碼互相關(guān)聯(lián),形成了一個(gè)有機(jī)的整體;可見(jiàn),窗體操作在VBA中是很重要的。
    窗體操作有兩個(gè)重要的命令:DoCmd.openform(打開(kāi)窗體)和DoCmd.Close(關(guān)閉窗體)。
    用于關(guān)閉窗體的Docmd的Close方法有兩個(gè)必選參數(shù)和一個(gè)可選參數(shù)??蛇x參數(shù)指定要將其關(guān)閉的對(duì)象的類型。如果要關(guān)閉一個(gè)窗體,則使用acForm(是Access的內(nèi)置常量,使Close方法知道關(guān)閉的是一個(gè)窗體)。另一個(gè)參數(shù)指定窗體的名稱,即在屬性表中“名稱”屬性的值??蛇x參數(shù)告訴Access是否要保存在窗體上的更改,默認(rèn)設(shè)置為提示是否保存。使用acSaveYes或acSaveNo來(lái)確定關(guān)閉窗體時(shí)是否要保存。
    Close方法的語(yǔ)法為:
    Docmd.Close acForm?!按绑w名”,acSaveNo
    許多DoCmd方法可直接用于單個(gè)對(duì)象。例如,GotoControl方法可將焦點(diǎn)指定給窗體上的一個(gè)控件,也可使用SetFocus方法達(dá)到同樣的效果,即選中一個(gè)控件。需要在應(yīng)用程序中移動(dòng)焦點(diǎn)以便輸入新信息或修改錯(cuò)誤信息時(shí),使用這兩個(gè)方法都很方便。
    [例6.113新建一個(gè)窗體,放置一個(gè)名為“指定窗體”的標(biāo)簽、一個(gè)文本框“txt窗體”,再放置兩個(gè)命令按鈕,分別是‘'corn打開(kāi)”、“corn關(guān)閉”,并在窗體模塊中編寫以下代碼:
    Option Compare Database
    Public forName As String ’聲明窗體名稱變量,可在模塊任何位置引用
    Public Sub打開(kāi)窗體(stDocName As String) ’打開(kāi)窗體過(guò)程
    On Error GoTo Err一打開(kāi)窗體 -
    Dim stI.inkCriteria As String
    DoCmd.openform stDocName,,,stLinkCriteria’打開(kāi)指定窗體并獲得焦點(diǎn)
    Exit一打開(kāi)窗體:
    Exit Sub
    Err打開(kāi)窗體:
    MsgBox Err.Description
    Resume Exit打開(kāi)窗體
    End Sub
    Public Sub關(guān)閉窗體(stDocName As String) ’關(guān)閉窗體過(guò)程