在開(kāi)發(fā)Access應(yīng)用程序時(shí),一般需要在窗體和模塊中引用許多變量。為管理這些變量,當(dāng)然可以在啟動(dòng)窗體中使用Microsoft Visual Basic for Application(VBA)來(lái)設(shè)置它們的值,然后再調(diào)用某個(gè)模塊,由該模塊初始化這些值。
然而,在完成應(yīng)用程序開(kāi)發(fā)之后,使用這個(gè)方法的問(wèn)題出現(xiàn)了:其他人可能需要在將來(lái)某個(gè)時(shí)候改變那些值,卻不知道從何處開(kāi)始。我建議在數(shù)據(jù)庫(kù)中建立一個(gè)名為SystemTbl的表,然后用戶可以訪問(wèn)這個(gè)表,并在恰當(dāng)?shù)臅r(shí)候修改數(shù)據(jù)。
建立表和窗體
將表創(chuàng)建好并將變量添加到表中的新記錄之后,可以為用戶創(chuàng)建一個(gè)只允許修改而不能添加或刪除記錄的窗體,表中應(yīng)該只包含一條記錄保存有關(guān)使用方法的信息。一旦保存完所有變量,可以在應(yīng)用程序需要的時(shí)候使用VBA來(lái)檢索那些變量值。
例如,假設(shè)應(yīng)用程序需要保存應(yīng)用程序管理員的姓名和電話號(hào)碼,正如你剛才所了解到的,這條信息要求容易修改,如果把它編寫到窗體或模塊的代碼中沒(méi)有什么意義。
該表預(yù)定義了一條記錄和兩個(gè)字段(到目前為止):
表:SystemTbl
字段1:AdminName
字段2:AdminPhone
當(dāng)需要在窗體上向用戶顯示恰當(dāng)?shù)男彰碗娫捥?hào)碼時(shí),可以使用OnOpen或OnLoad事件填充窗體上的相應(yīng)標(biāo)簽,在本例中,我們把標(biāo)簽命名為“PhoneLabel”和“NameLabel”。清單1.10 .A顯示了這個(gè)示例函數(shù)的代碼。
在該示例函數(shù)中,我們以SnapShot-ForwardOnly方式打開(kāi)記錄集,以減少訪問(wèn)記錄集時(shí)占用的資源;然后,我們將表中字段的值應(yīng)用到Name和Phone標(biāo)簽的標(biāo)題上。
最后,關(guān)閉記錄集。永遠(yuǎn)記住要關(guān)閉記錄集,它會(huì)累積為不需要的資源,導(dǎo)致性能降低甚至更糟糕的問(wèn)題。由于系統(tǒng)表中只有一條記錄,檢索過(guò)程極快。現(xiàn)在,你已經(jīng)給一個(gè)有效的數(shù)據(jù)庫(kù)應(yīng)用程序添加了可擴(kuò)展的解決辦法。
新聞熱點(diǎn)
疑難解答
圖片精選