2013-07-01 35 views
0

我試圖從訪問中的多個表單控件值構建SQL插入語句。嘗試使用訪問表單上的Controls()函數時出現錯誤

我讀過我可以使用Controls()函數來動態引用我的控件。

我試着這樣做:

Private Sub InsertCoeff(ByVal prov As String, ByVal region As String) 
    Dim strSQL As String 
    Dim insertSQL As String 
    Dim valuesSQL As String 
    insertSQL = "INSERT INTO 'Coefficient de Fermage'" 
    valuesSQL = "(" 
    valuesSQL = valuesSQL & "('1F','2F')" 
    valuesSQL = valuesSQL & ",('" & Me.Controls(prov & region & "Lbl") & "','" & Me.Controls(prov & region & "Lbl") & "')" 
    valuesSQL = valuesSQL & ",('" & Me.Controls(prov & "Lbl") & "','" & Me.Controls(prov & "Lbl") & "')" 
    valuesSQL = valuesSQL & ",('" & Me.Controls(prov & region & "Terres") & "','" & Me.Controls(prov & "Bat") & "')" 
    valuesSQL = valuesSQL & ",('" & Me.DateEff & "','" & Me.DateEff & "')" 
    valuesSQL = valuesSQL & ")" 
    strSQL = insertSQL & " VALUES " & valuesSQL 
End Sub 

但我得到一個運行時錯誤438(對象不支持此屬性或方法),即使VBA自動顯示控件()方法時,我開始輸入「我」。

任何想法爲什麼這會失敗?

回答

1

我引用的標籤,所以正確的語法是

valuesSQL = valuesSQL & ",('" & Me.Controls(prov & region & "Lbl").Caption & "','" & Me.Controls(prov & region & "Lbl").Caption & "')" 
相關問題