DoCmd 對(duì)象的宏操作和方法

此頁(yè)沒(méi)有內(nèi)容條目
內(nèi)容

expandtri全部顯示

若要在 Microsoft Access 代碼中運(yùn)行宏操作,可使用 DoCmd 對(duì)象及其方法。該對(duì)象代替 Microsoft Access 1.x 和 2.0 版本中的 DoCmd 語(yǔ)句來(lái)執(zhí)行宏操作。

當(dāng)轉(zhuǎn)換數(shù)據(jù)庫(kù)時(shí),Microsoft Access 通過(guò)用 .(點(diǎn))運(yùn)算符替換空格,自動(dòng)將任何在 Access Basic 代碼中執(zhí)行的 DoCmd 語(yǔ)句和操作轉(zhuǎn)換為 DoCmd 對(duì)象的方法。

某些宏操作在 Microsoft Access 9.0 中及更高版本中與在 1.x、2.0 或 7.0 版中的工作方式不同,下面詳細(xì)說(shuō)明這些差異。

用 Microsoft Access 95 創(chuàng)建的數(shù)據(jù)庫(kù)

DoMenuItem 操作

在 Microsoft Access 中不再使用 DoMenuItem 操作。RunCommand 操作將用于完成 DoMenuItem 操作所執(zhí)行的任務(wù)。

當(dāng)啟用用舊版本 Microsoft Access 創(chuàng)建的數(shù)據(jù)庫(kù)時(shí),DoMenuItem 操作將繼續(xù)執(zhí)行以前的功能。

當(dāng)轉(zhuǎn)換用舊版本 Microsoft Access 創(chuàng)建的數(shù)據(jù)庫(kù)時(shí),轉(zhuǎn)換后首次保存時(shí),宏中所有的 DoMenuItem 操作均將替換為 RunCommand 操作。而 Visual Basic 過(guò)程中使用的 DoMenuItem 方法則不會(huì)更改。

用 Microsoft Access 1.x 或 2.0 版本創(chuàng)建的數(shù)據(jù)庫(kù)

TransferSpreadsheet 操作

Microsoft Access 不能導(dǎo)入 Microsoft Excel 2.0 版的電子表格或 Lotus1-2-3 1.0 版的電子表格。如果轉(zhuǎn)換包含宏的數(shù)據(jù)庫(kù),而該宏使用 Microsoft Access 1.x 或 2.0 版中的 TransferSpreadsheet 操作提供這種功能,則轉(zhuǎn)換數(shù)據(jù)庫(kù)過(guò)程會(huì)將“電子表格類(lèi)型”參數(shù)改為 Microsoft Excel 3.0 版(假如最初指定的是 Microsoft Excel 2.0 版);如果最初指定的是 Lotus1-2-3 1.0 版的格式,則會(huì)出現(xiàn)錯(cuò)誤。

要解決該問(wèn)題,應(yīng)在將電子表格導(dǎo)入到 Microsoft Access 之前,先將電子表格轉(zhuǎn)換為新版本的 Microsoft Excel 或 Lotus 1-2-3。

TransferText 和 TransferSpreadsheet 操作

在 Microsoft Access 中使用 TransferText 操作或 TransferSpreadsheet 操作時(shí),不能使用 SQL 語(yǔ)句來(lái)指定要導(dǎo)出的數(shù)據(jù)。必須先創(chuàng)建查詢(xún),然后在“表名”參數(shù)中指定查詢(xún)的名稱(chēng),而不是使用 SQL 語(yǔ)句。

比較 Null 值

在 Microsoft Access 1.x 和 2.0 版中,如果在宏條件中用比較運(yùn)算符比較兩個(gè)表達(dá)式,且其中的一個(gè)表達(dá)式是 Null,那么根據(jù)使用的比較運(yùn)算符,Access Basic 將返回 TrueFalse 作為比較的結(jié)果。在 Microsoft Access 2000 或更高版本中,Visual Basic 為表達(dá)式等于 Null 的比較返回 Null。為確定比較結(jié)果是否為 Null,請(qǐng)使用 IsNull 函數(shù)檢查比較結(jié)果。