アクセスのいくつかのフォーム コントロール値から SQL 挿入ステートメントを作成しようとしています。
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
しかし、「Me」と入力し始めると vba が Controls() メソッドを自動提案するにもかかわらず、実行時エラー 438 (オブジェクトはこのプロパティまたはメソッドをサポートしていません) が発生します。
これが失敗する理由は何ですか?