字符串中的引號

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

expandtri全部顯示

如果必須構(gòu)建要連接的字符串,可能需要在一個字符串中嵌入另一個字符串,或在字符串中嵌入一個字符串變量。下列情況需要在字符串中嵌套另一個字符串:

?為域聚合函數(shù)指定條件時。
?Find 方法指定條件時。

?為窗體的 FilterServerFilter 屬性指定條件時。

?創(chuàng)建 SQL 字符串時。

在所有這些實例中,Microsoft Access 必須將字符串傳遞給 Microsoft Jet 數(shù)據(jù)庫引擎。例如,為域聚合函數(shù)指定 criteria 參數(shù)時,Microsoft Access 必須計算所有的變量,將它們連接為一個字符串,然后將整個字符串傳遞給 Jet 數(shù)據(jù)庫引擎。

如果嵌入了一個數(shù)值變量,Microsoft Access 將計算該變量并簡單地將值連接到字符串。然而,如果變量是文本字符串,生成的條件字符串將在字符串中包含另一個字符串。字符串中的另一個字符串必須由字符串分隔符來標(biāo)識,否則,Jet 數(shù)據(jù)庫引擎將不能確定應(yīng)該使用該字符串的哪一部分。

字符串分隔符實際上不是變量自身的某一部分,但是它們必須包含在 criteria 參數(shù)的字符串中。有三種不同的方法可以建立 criteria 參數(shù)的字符串。每一種方法所產(chǎn)生的 criteria 參數(shù)應(yīng)該如下列示例之一:

"[LastName] = 'Smith'"

– 或者–

"[LastName] = ""Smith"""

包含單引號

應(yīng)該在 criteria 參數(shù)中包含單引號,這樣在將變量值連接到字符串中時,它就會包含在單引號中。例如,假設(shè)您的 criteria 參數(shù)必須包含一個叫做 strName 的字符串變量??梢匀缦滤緲?gòu)建 criteria 參數(shù):

"[LastName] = '" & strName & "'"

在計算變量 strName 的值并將它連接到 criteria 字符串后,criteria 變量變?yōu)椋?/span>

"[LastName] = 'Smith'"

注釋  這種語法不允許在變量自身的值中使用單引號 (')。如果字符串變量的值包含單引號,Microsoft Access 將會產(chǎn)生一個運行時錯誤。如果變量可能代表包含單引號的值,請考慮使用在下節(jié)中討論的其他語法形式。

包含雙引號

應(yīng)該在 criteria 參數(shù)中包含雙引號,這樣在計算變量值時,其結(jié)果就會包含在雙引號中。在字符串中,必須使用兩組雙引號來代表一組雙引號??梢匀缦滤緲?gòu)建 criteria 參數(shù):

"[LastName] = """ & strName & """"

當(dāng)計算變量 strName 的值并將它連接到 criteria 參數(shù)后,每組雙引號被一個單引號替換。criteria 參數(shù)變?yōu)椋?/span>

"[LastName] = 'Smith'"

這種語法可能看似比單引號語法復(fù)雜,但是它允許在 criteria 參數(shù)中嵌入含有一個單引號的字符串,它也允許在嵌入的字符串中嵌套一個或多個字符串。

包含代表雙引號的變量

可以創(chuàng)建一個代表雙引號的字符串變量,并將該變量與變量值一起連接到 criteria 參數(shù)中。雙引號的 ANSI 表示法是 Chr$(34);可以將該值賦給字符串變量 strQuote。然后可以如下所示構(gòu)建 criteria 參數(shù):

"[LastName] = " & strQuote & strName & strQuote

當(dāng)計算出變量值并將其連接到 criteria 參數(shù)后,criteria 參數(shù)變?yōu)椋?/span>

[LastName] = "Smith"