Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MS Access VBA跳过对其中一个表的插入_Vba_Ms Access - Fatal编程技术网

MS Access VBA跳过对其中一个表的插入

MS Access VBA跳过对其中一个表的插入,vba,ms-access,Vba,Ms Access,我正在为表单上的按钮编写VBA代码。它的目的应该是向表单元和表所有者添加数据。但是,它跳过单元表,只将数据添加到所有者表中。我也没有收到任何错误警报,所有的东西看起来都通过了,但公寓的桌子还是空的。这是我的密码 Private Sub cmdAdd_Click() 'add to apartment CurrentDb.Execute " INSERT INTO Apartment(Apartment, Account_ID, Total_area, Heated_area, P

我正在为表单上的按钮编写VBA代码。它的目的应该是向表单元和表所有者添加数据。但是,它跳过单元表,只将数据添加到所有者表中。我也没有收到任何错误警报,所有的东西看起来都通过了,但公寓的桌子还是空的。这是我的密码

Private Sub cmdAdd_Click()
    'add to apartment
    CurrentDb.Execute " INSERT INTO Apartment(Apartment, Account_ID, Total_area, Heated_area, People) " & _
           " VALUES ( " & Me.txtApt & ",'" & Me.txtAcc & "','" & _
           Me.txtTotal_area & "','" & Me.txtHeated_area & "','" & Me.txtPeople & "')"
    'add to owner
    CurrentDb.Execute " INSERT INTO Owner (Account, FName, LName, MName) " & _
           " VALUES ( " & Me.txtAcc & ",'" & Me.txtFName & "','" & _
           Me.txtLName & "','" & Me.txtMName & "')"
    'clear
    cmdClear_Click

    'subform requery
    frmAptSub.Form.Requery
End Sub    

它可以帮助您评估正在执行的SQL语句,以便您能够准确地看到正在发生的事情:-

Private Sub cmdAdd_Click()
dim sSQL as string
sSQL = " INSERT INTO Apartment(Apartment, Account_ID, Total_area, Heated_area, People) " & _
       " VALUES ( " & Me.txtApt & ",'" & Me.txtAcc & "','" & _
       Me.txtTotal_area & "','" & Me.txtHeated_area & "','" & Me.txtPeople & "')"
'add to apartment
debug.print sSQL
CurrentDb.Execute sSQL, dbFailOnError
'add to owner
sSQL = " INSERT INTO Owner (Account, FName, LName, MName) " & _
       " VALUES ( " & Me.txtAcc & ",'" & Me.txtFName & "','" & _
       Me.txtLName & "','" & Me.txtMName & "')"
debug.print sSQL
CurrentDb.Execute sSQL, dbFailOnError '... etc

还要注意dbFailOnError的使用,因此,如果存在阻止插入单元表的因素(约束、密钥冲突等),则会引发错误,以便您可以检查详细信息。

它可能有助于您评估正在执行的SQL语句,以便您能够准确地看到发生了什么:-

Private Sub cmdAdd_Click()
dim sSQL as string
sSQL = " INSERT INTO Apartment(Apartment, Account_ID, Total_area, Heated_area, People) " & _
       " VALUES ( " & Me.txtApt & ",'" & Me.txtAcc & "','" & _
       Me.txtTotal_area & "','" & Me.txtHeated_area & "','" & Me.txtPeople & "')"
'add to apartment
debug.print sSQL
CurrentDb.Execute sSQL, dbFailOnError
'add to owner
sSQL = " INSERT INTO Owner (Account, FName, LName, MName) " & _
       " VALUES ( " & Me.txtAcc & ",'" & Me.txtFName & "','" & _
       Me.txtLName & "','" & Me.txtMName & "')"
debug.print sSQL
CurrentDb.Execute sSQL, dbFailOnError '... etc

还要注意dbFailOnError的使用,因此,如果有什么东西阻止插入单元表(约束、密钥冲突等),那么将引发一个错误,以便您可以检查详细信息。

谢谢,它成功了。添加dbFailOnError和debug后,我注意到表之间有1-1关系,切换到1-m后,一切都开始顺利进行。谢谢,它成功了。添加dbFailOnError和debug后,我注意到表之间有1-1关系,切换到1-m后,一切都开始顺利进行。