1

エラーをスローするこのクエリを助けてくださいエラーがスローされます:ステートメントの最後にセミコロン(;)がありません

SQL = "INSERT INTO rsANALYSIS values ( " & _
  "Chemname, Startvalue, StopValue, Received, [Usage], Quotum ) " & _
  "SELECT '" & rsMainList("handelsnaam") & "', " & StartStock & _
  ", " & StopStock & ", " & Stockreceived & ", " & Stockusage & _
  ", " & rsMainList("quotumlt") & ";"
4

3 に答える 3

1

Access の INSERT ステートメントには、次の 2 つの構文スタイルがあります。

  1. INSERT INTO TableName (field list) VALUES (value list)
  2. INSERT INTO TableName (field list) SELECT statement

あなたのINSERT声明は両方のスタイルを組み合わせて使用​​しているようです。このようにしてみてください(VALUESキーワードなしで):

SQL = "INSERT INTO rsANALYSIS ( " & _
  "Chemname, Startvalue, StopValue, Received, [Usage], Quotum ) " & _
  "SELECT '" & rsMainList("handelsnaam") & "', " & StartStock & _
  ", " & StopStock & ", " & Stockreceived & ", " & Stockusage & _
  ", " & rsMainList("quotumlt") & ";"
于 2012-09-24T08:50:29.950 に答える
1

すべての変数に値が含まれていますか? そうでない場合、上記のエラーが発生します。

ほとんどの場合、パラメータを使用する方が適切です。

Dim db As Database
Dim qdf As QueryDef

Set db = CurrentDb

sSQL = "INSERT INTO rsANALYSIS values ( " & _
  "Chemname, Startvalue, StopValue, Received, [Usage], Quotum ) " & _
  "Values ([p1],[p2],[p3],[p4,[p5],[p6])"


''Temporary query
Set qdf = db.CreateQueryDef("", sSQL)
''No need to worry about quotes etc
qdf.Parameters("p1") = rsMainList("handelsnaam")
qdf.Parameters("p2") = StartStock
qdf.Parameters("p3") = StopStock 
qdf.Parameters("p4") = Stockreceived 
qdf.Parameters("p5") = Stockusage 
qdf.Parameters("p6") = rsMainList("quotumlt")  

qdf.Execute dbFailOnError
于 2012-09-24T08:36:01.487 に答える
1

おそらくINSERTクエリの最後で、これについてはわかりません

SQL = "INSERT INTO rsANALYSIS values ( Chemname, Startvalue, 
StopValue, Received, [Usage], Quotum ); 

SELECT '" & rsMainList("handelsnaam") & "', " & StartStock & ", " & StopStock & ", " & Stockreceived & ", " & Stockusage & ", " & rsMainList("quotumlt") & ";"

また、引用符で囲まれていない変数が空でないことを確認してください

于 2012-09-24T08:36:14.957 に答える