MS Access VBA跳过对其中一个表的插入
我正在为表单上的按钮编写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
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后,一切都开始顺利进行。