第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何強(qiáng)制VBA / Access要求定義變量?

如何強(qiáng)制VBA / Access要求定義變量?

臨摹微笑 2020-02-02 14:07:54
我正在對(duì)某些VBA代碼進(jìn)行重大更改,并且某些變量正在被刪除和/或重命名。如果編譯器向我抱怨變量不存在而不是動(dòng)態(tài)創(chuàng)建變量,那么查找所有需要更新的位置會(huì)容易得多。如何強(qiáng)制VBA / Access要求聲明變量?
查看完整描述

3 回答

?
飲歌長(zhǎng)嘯

TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊

您需要Option Explicit在每個(gè)VBA代碼模塊(包括表單和報(bào)告)的頂部使用。

您可以進(jìn)入VBA編輯器>>工具>>選項(xiàng)>>編輯器選項(xiàng)卡,并確保選中了“需要變量聲明”,以為表單和報(bào)表后面的所有將來(lái)創(chuàng)建的模塊和VBA代碼設(shè)置此設(shè)置。

從Access 2003幫助:

要求變量聲明-確定模塊中是否需要顯式變量聲明。選擇此選項(xiàng)會(huì)將Option Explicit語(yǔ)句添加到任何新模塊的常規(guī)聲明中。

變量變暗時(shí),我也會(huì)使用駝峰式大小寫(xiě)。 ThisIsAnExampleOfCamelCase。如果Access不會(huì)將小寫(xiě)變量更改為駝峰大小寫(xiě),一旦退出VBA代碼行,我就會(huì)知道輸入錯(cuò)誤。


查看完整回答
反對(duì) 回復(fù) 2020-02-02
?
滄海一幻覺(jué)

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個(gè)贊

有關(guān)OPTION EXPLICIT和Access VBA的一些歷史記錄

根據(jù)Tony的回答,這里有一些解釋,說(shuō)明為什么在某些Access代碼模塊中未存在OPTION EXPLICIT的問(wèn)題。

在Access 95和Access 97(帶有VBA的前兩個(gè)Office版本)中,Access的代碼編輯器與其他Office程序不同。在Access 2000中,Microsoft通過(guò)Access中的其他Office應(yīng)用程序?qū)崿F(xiàn)了VBE。同時(shí),MS選擇使Access VBA模塊的行為像其他應(yīng)用程序中的模塊一樣,默認(rèn)情況下具有OPTION EXPLICIT。

因此,在Access 2000中,默認(rèn)情況下,模塊創(chuàng)建時(shí)沒(méi)有OPTION EXPLICIT。

當(dāng)然,這對(duì)MS而言確實(shí)是一個(gè)愚蠢的設(shè)計(jì)決定,后來(lái)他們撤消了這一決定(我不記得是Access 2002或2003糾正了問(wèn)題,并在所有新模塊中再次默認(rèn)為OPTION EXPLICIT)。它之所以愚蠢(因?yàn)镸S應(yīng)該知道這一點(diǎn))是因?yàn)锳ccess是一種數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)工具,因此可以對(duì)強(qiáng)類型的數(shù)據(jù)進(jìn)行操作。因此,默認(rèn)情況下應(yīng)嚴(yán)格鍵入代碼環(huán)境,以使其與正在使用的數(shù)據(jù)保持一致。

在Excel或Word中,數(shù)據(jù)不是強(qiáng)類型,因此對(duì)幾乎所有內(nèi)容使用變體數(shù)據(jù)類型更有意義,只是使每個(gè)人都更容易使用。通過(guò)不使用OPTION EXPLICIT來(lái)實(shí)現(xiàn)這一點(diǎn)的缺點(diǎn)是,您可能會(huì)得到拼寫(xiě)錯(cuò)誤,這些錯(cuò)別字會(huì)自動(dòng)引入新變量(例如變量“ intrdoduce”),如果我使用OPTION EXPLICIT撰寫(xiě)本文,那么如果沒(méi)有OPTION EXPLICIT,就不會(huì)發(fā)生產(chǎn)生運(yùn)行時(shí)錯(cuò)誤!:)]。這是所有以這種方式工作的語(yǔ)言的問(wèn)題(我努力工作于PHP,其中變量名可以按大小寫(xiě)區(qū)分,即$ Var與$ var是不同的變量;但是我離題了),但是MS決定在Word和Excel中以這種方式實(shí)現(xiàn)它,因?yàn)檫@樣的理論是,編寫(xiě)代碼的人如果不這樣做的話,將會(huì)更輕松。

因此,MS犯了一個(gè)錯(cuò)誤,即使Access的VBE版本像其他應(yīng)用程序一樣,即使Access自己的目的內(nèi)部沒(méi)有邏輯支持這一舉動(dòng)。然后,MS撤消該更改并返回到以前的狀態(tài)(即,默認(rèn)情況下,所有模塊中的OPTION EXPLICIT)。

因此,您經(jīng)常會(huì)看到在Access 2000中開(kāi)始使用的應(yīng)用程序,這些應(yīng)用程序到處都是模塊,而沒(méi)有OPTION EXPLICIT。當(dāng)我必須使用這樣的應(yīng)用程序時(shí),我的首要任務(wù)是在所有模塊中實(shí)現(xiàn)OPTION EXPLICIT,然后修復(fù)該死的東西,使其能夠編譯(鑒于該東西是在沒(méi)有它的情況下進(jìn)行編程的,因此通常很難)。


查看完整回答
反對(duì) 回復(fù) 2020-02-02
?
犯罪嫌疑人X

TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊

這個(gè)問(wèn)題對(duì)于Excel很有幫助,您可能會(huì)看到它是否適用于Access:


丟失的變量


本質(zhì)上,MZ-Tools將搜索您的代碼并告訴您未使用的內(nèi)容。VBA的版本可以在這里找到。使用查看源代碼功能。


查看完整回答
反對(duì) 回復(fù) 2020-02-02
  • 3 回答
  • 0 關(guān)注
  • 702 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)