通过遍历值和跳过空白将多行插入到 Access 数据库中

Insert multiple rows into Access database by looping through values and skipping blanks

我试图遍历表单上的一系列组合框,跳过空白,然后将它们添加到数据库中,但它似乎失败了 - 知道我该怎么做吗?

For i = 1 To 8
    If Not (("cboOption" & i).Value = "") Then
        StrSQL = "INSERT INTO db (mID, uID) VALUES (("cboOption" & i).Value = "", StudentID.Value);"
        DoCmd.SetWarnings False
        DoCmd.RunSQL StrSQL
        DoCmd.SetWarnings True
    End If
Next

嗯,我不是 100% 确定,但您的代码可能会抛出方法或数据未识别错误。不管怎样,下面的代码应该对它进行排序。

For i = 1 To 8
    If Len(Me.Controls("cboOption" & i).Value & vbNullString) <> 0 Then
        StrSQL = "INSERT INTO db (mID, uID) VALUES (" & _
                  Me.Controls("cboOption" & i).Value & ", " & _
                  StudentID.Value & ");"
        DoCmd.SetWarnings False
        DoCmd.RunSQL StrSQL
        DoCmd.SetWarnings True
    End If
Next

只要确保将值括在单引号内(如果它们是字符串值)。

        StrSQL = "INSERT INTO db (mID, uID) VALUES ('" & _
                  Me.Controls("cboOption" & i).Value & "', " & _
                  StudentID.Value & ");"