2017-03-07 52 views
1

我有一個表單的供應商名稱,當我點擊一個按鈕,附帶下面的代碼;訪問VBA單引號的名稱導致語法錯誤

Private Sub CmdView_Click() 
On Error GoTo Err_CmdView_Click 

    Dim stDocName As String 
    Dim stLinkCriteria As String 

    stDocName = "FrmSuppliers" 

    stLinkCriteria = "[SupplierName]=" & "'" & Me![SupplierName] & "'" 
    DoCmd.OpenForm stDocName, , , stLinkCriteria 

Exit_CmdView_Click: 
    Exit Sub 

Err_CmdView_Click: 
    MsgBox Err.Description 
    Resume Exit_CmdView_Click 

End Sub 

一個表格及其信息會打開,但是,我有一個供應商的名稱中有一個撇號,例如, O'Tooles,當我點擊他們的按鈕時,我得到錯誤。

Syntax error (missing operator) in query expression 
'[SupplierName]='O'Tooles''. 

有沒有辦法改變代碼來解釋撇號?

+0

嘗試使用CHR(39),而不是撇號的 –

+0

@SivaprasathV我不明白這是如何工作的 – Naz

+0

chr(39)是撇號的字符常量 –

回答

1

你試圖使用單引號作爲字符串分隔符,使用雙引號,而不是(他們只需要一個額外的"進行轉義:

stLinkCriteria = "[SupplierName]=" & """" & Me![SupplierName] & """"