Microsoft Access 掲示板

Error#: 3134 INSERT INTO ステートメントの構文エラーです。 / 18

20 コメント
views
4 フォロー
18
    For i = 1 To 10
      If Not IsNull(Me("依頼理由_1" & i).Value) Then
        rs.AddNew
        For Each fld In rs.Fields
           fld.Value = Me("詳細ID" & i).Value          '←ここでエラー
           fld.Value = Me("ロット番号" & i).Value
           fld.Value = Me("ロット枝" & i).Value
           fld.Value = Me("依頼理由_1" & i).Column(1)
           fld.Value = Me("依頼理由_2" & i).Column(1)
           fld.Value = Me("依頼理由_3" & i).Column(1)
           fld.Value = Me("巻き長さ" & i).Value
           fld.Value = Me("詳細補足説明" & i).Value
           fld.Value = Now
        Next
        rs.Update
      End If
    Next i

上記のコード、私が前に指摘した、

一つずつ、フィールドに対応するテキストボックスの値を代入する方法と、
フィールド名とテキストボックスを同じにしておいて、いちいち指定せずにループで代入しておく方法、
が、ごちゃまぜになってます。

一つずつ、フィールドに対応するテキストボックスの値を代入する方法に書き換えましょう。
後者の方法はまだちょっと敷居が高いようです。

    For i = 1 To 10
      If Not IsNull(Me("依頼理由_1" & i).Value) Then
        rs.AddNew
        rs("詳細ID").Value = Me("詳細ID" & i).Value
        rs("ロット番号").Value = Me("ロット番号" & i).Value
        rs("ロット枝").Value = Me("ロット枝" & i).Value
        rs("依頼理由_1").Value = Me("依頼理由_1" & i).Column(1)
        rs("依頼理由_2").Value = Me("依頼理由_2" & i).Column(1)
        rs("依頼理由_3").Value = Me("依頼理由_3" & i).Column(1)
        rs("巻き長さ").Value = Me("巻き長さ" & i).Value
        rs("詳細補足説明").Value = Me("詳細補足説明" & i).Value
        rs.Update
      End If
    Next i

そのうえでエラーが出たら、エラーメッセージとどの行でエラーが出たか提示してください。

通報 ...