2017-01-13 11 views
0

エラーを特定できません。私はすでに括弧を追加しようとしましたが、これは助けになりませんでした。このコードは、 "InsertFilmZip"というクエリがすでに存在するかどうかを調べ、存在しない場合は、指定されたステートメントでそれを作成します。なんらかの理由で、Run-time error 3139: Syntax error in PARAMETER clauseがあると言っていますが、エラーが見つかりません。MS Access:構文エラーを返すINSERT INTOステートメント

Private Sub Command8_Click() 

    Dim dbsCurrent As Database 
    Set dbsCurrent = CurrentDb 

    Dim query As QueryDef 
    Dim sql As String 
    Dim item_val As String 

    item_val = Me.Text314 

    For Each query In CurrentDb.QueryDefs 
     If query.Name = "InsertFilmZip" Then 
     Exit For 
     End If 
    Next query 

    If query Is Nothing Then 
     sql = "parameters " & "P1 Number" & _ 
     "INSERT INTO [tbl_FilmZipInfo] " & _ 
     "(qty_per_unit) " & _ 
     " VALUES ([P1])" & _ 
     "WHERE (((tbl_FilmZipInfo.qty_per_unit)='" & Me.Text314 & "'))" 
     Set query = CurrentDb.CreateQueryDef("InsertFilmZip", sql) 
    End If 

    query.Parameters("P1").Value = Me.Text317 

    query.Execute 

End Sub 

答えて

0

あなたのSQLは意味をなさないので、この調整をしようとしません。

sql = "parameters P1 Long;" & _ 
    "UPDATE [tbl_FilmZipInfo] " & _ 
    "SET qty_per_unit = [P1] " & _ 
    "WHERE qty_per_unit = " & Me.Text314 & "" 
関連する問題