Ms access 如何在Access 2010中单击表单中的按钮将文本输入到表中

Ms access 如何在Access 2010中单击表单中的按钮将文本输入到表中,ms-access,vba,ms-access-2010,Ms Access,Vba,Ms Access 2010,我已经创建了一个表单,上面有提交按钮 我已经在文本框中输入了数据,然后单击了提交按钮。但是数据没有保存在表中。而且,它没有显示任何错误消息。它根本不起作用 Private Sub CmdAddNew_Click() 'add data to table CurrentDb.Execute "INSERT INTO tblemployee(firstname,lastname,Address,city)" & _ " VALUES('" & Me.txtfirstname &

我已经创建了一个表单,上面有提交按钮

我已经在文本框中输入了数据,然后单击了提交按钮。但是数据没有保存在表中。而且,它没有显示任何错误消息。它根本不起作用

Private Sub CmdAddNew_Click()
'add data to table
CurrentDb.Execute "INSERT INTO tblemployee(firstname,lastname,Address,city)" & _
" VALUES('" & Me.txtfirstname & "','" & Me.txtlastname & "','" & Me.txtaddress & "','" &   Me.txtcity & "')"
试试这个:

Private Sub CmdAddNew_Click()

    Dim dbs As DAO.Database, Sqltext As String, iCount As Integer
    Set dbs = CurrentDb
    Sqltext = "INSERT INTO tblemployee(firstname,lastname,Address,city) " & _
                 "VALUES('" & Me.txtfirstname & "','" & Me.txtlastname & _
                        "','" & Me.txtaddress & "','" & Me.txtcity & "');"
    Debug.Print "SQL statement generated with variables:" & vbCrLf & Sqltext
    dbs.Execute Sqltext, dbFailOnError
        iCount = dbs.RecordsAffected
    Debug.Print "..." & iCount & " row(s) inserted"

End Sub

debug.print消息将打印到即时窗口(Ctrl+g)以从VBA编辑器中查看,一旦确认其工作正常,您可以删除这些消息。

它给出了一个错误“索引或主键不能包含空值”好的,这意味着我们不是在tblemployee中插入所有列(并且至少需要一个缺少的列)或者我们在查询中错误地命名了一个或多个列。能否将调试窗口中的SQL查询与表中的列名进行比较。Chris您是正确的,但现在显示错误“记录已删除”。请详细说明我的建议中哪一个是正确的,以及您为解决此问题所做的工作。我已向tblemployee添加了另一列,并将查询修改为Sqltext=“INSERT INTO tblemployee(EmployeeID,firstname,lastname,Address,city)”&“VALUES(”、“&Me.EmployeeID&”、“&Me.txtfirstname&“、”、“&Me.txtlastname&&“,”&ume.txtaddress&“,”&Me.txtcity&“;”