使用按钮将记录添加到多个表
Adding Records to multiple tables with a button
我在表单上创建了一个按钮以添加到多个表格。所以我和下表是多对多的关系:
- tblComputer(计算机)
- tblHDD(机械硬盘)
- tblComputer-HDD(电脑,硬盘)
在表单上,我有两个文本框:txtComputer 和 txtHDD。当我单击按钮时,记录将添加到所有表中。如果 tblComputer 或 tblHDD 的记录存在,则它只会将其添加到 tblComputer-HDD 中。任何帮助都会很棒!我还在下面提供了数据库 link:
这也是我的 vba 代码:
Private Sub btnAdd_Click()
Dim db As Database
Dim Computer As Recordset
Dim CompHDD As Recordset
Dim HDD As Recordset
Set db = CurrentDb
Set Computer = db.OpenRecordset("Select * from [tblComputer]")
Set CompHDD = db.OpenRecordset("Select * from [tblComputer-HDD]")
Set HDD = db.OpenRecordset("Select * from [tblHDD]")
If Computer.NoMatch = True Then
Computer.AddNew
Computer("Computer") = Me.txtComputer
Computer.Update
ElseIf HDD.NoMatch = True Then
HDD.AddNew
HDD("HDD") = Me.txtHDD
HDD.Update
Else
CompHDD.AddNew
CompHDD("Computer") = Me.txtComputer
CompHDD("HDD") = Me.txtHDD
CompHDD.Update
End If
txtComputer.Value = ""
txtHDD.Value = ""
Set Computer = Nothing
Set CompHDD = Nothing
Set HDD = Nothing
Set db = Nothing
End Sub
如果您将主键放在所有三个 table 上,那么您可以简单地附加值。 PK 将防止添加重复项。
我将使用以下方法将计算机和 HDD 对添加到 tblComputer-HDD table。您应该能够更改语法以处理此示例中的其他两个 table 附加。
DoCmd.SetWarnings False
DoCmd.Execute "INSERT INTO [tblComputer-HDD] ([Computer], [HDD]) VALUES ('" & Me.txtComputer & "', '" & Me.txtHDD & "')"
'Other Code
DoCmd.SetWarnings True
我在表单上创建了一个按钮以添加到多个表格。所以我和下表是多对多的关系:
- tblComputer(计算机)
- tblHDD(机械硬盘)
- tblComputer-HDD(电脑,硬盘)
在表单上,我有两个文本框:txtComputer 和 txtHDD。当我单击按钮时,记录将添加到所有表中。如果 tblComputer 或 tblHDD 的记录存在,则它只会将其添加到 tblComputer-HDD 中。任何帮助都会很棒!我还在下面提供了数据库 link:
这也是我的 vba 代码:
Private Sub btnAdd_Click()
Dim db As Database
Dim Computer As Recordset
Dim CompHDD As Recordset
Dim HDD As Recordset
Set db = CurrentDb
Set Computer = db.OpenRecordset("Select * from [tblComputer]")
Set CompHDD = db.OpenRecordset("Select * from [tblComputer-HDD]")
Set HDD = db.OpenRecordset("Select * from [tblHDD]")
If Computer.NoMatch = True Then
Computer.AddNew
Computer("Computer") = Me.txtComputer
Computer.Update
ElseIf HDD.NoMatch = True Then
HDD.AddNew
HDD("HDD") = Me.txtHDD
HDD.Update
Else
CompHDD.AddNew
CompHDD("Computer") = Me.txtComputer
CompHDD("HDD") = Me.txtHDD
CompHDD.Update
End If
txtComputer.Value = ""
txtHDD.Value = ""
Set Computer = Nothing
Set CompHDD = Nothing
Set HDD = Nothing
Set db = Nothing
End Sub
如果您将主键放在所有三个 table 上,那么您可以简单地附加值。 PK 将防止添加重复项。
我将使用以下方法将计算机和 HDD 对添加到 tblComputer-HDD table。您应该能够更改语法以处理此示例中的其他两个 table 附加。
DoCmd.SetWarnings False
DoCmd.Execute "INSERT INTO [tblComputer-HDD] ([Computer], [HDD]) VALUES ('" & Me.txtComputer & "', '" & Me.txtHDD & "')"
'Other Code
DoCmd.SetWarnings True