0

我正在使用 Access 2010,我想知道如何使用另一个表中的信息更新一个表中的记录(而且,我想指定我想使用的另一个表中的哪条记录)。我有两个表(产品和销售)。我需要做的是,当我在销售表格上注册新的销售(指定销售的单位)时,我想从产品表中该产品的可用单位中打折销售的单位。我读到我需要使用更新查询,并执行以下操作:

Field: Available units
Table: Products
Update to: [Products].[Available units] - [Sales].[Sold units]

Field: Code
Table: Products
Update to: 
Criteria: [Insert code]

这两个表由 Code 字段相关联,其中 Code 是 products 表中的主键字段(产品只注册一次),而 sales 表中的主键字段是一个名为 SaleNumber 的自动编号字段。一种产品可以有很多销售。

我希望你能帮助我,我找不到任何东西。我是 Access 的新手。

4

1 回答 1

0

如果您正在使用表单并想编写一点 VBA,您可以创建一个提交按钮来运行您需要的所有内容。它可能看起来像这样:

Private Sub Submit_Button_Click()

Dim myR as Recordset
Dim myR2 as Recordset
Dim strSQL as String

'Select the product from the table that contains the available products
strSQL = "SELECT * FROM Available_Units WHERE Products = '" & me.product_field & "'"

'Set each table accordingly
Set myR as CurrentDb.OpenRecordset(strSQL, dbOpenDyanset)
Set myR2 as CurrentDb.OpenRecordset("Sold_Units_Table", dbOpenDynaset)

'This will edit the existing amount you have in the first table
myR.Edit
myR![Product_Qty] = myR![Product_Qty] - me.qty_sold
myR.Update

'This will add a new record of the transaction in the second table
myR2.addnew
myR2![Product_Sold] = me.product_field
myR2![Product_Qty_Sold] = me.qty_sold
myR2.Update

Set myR = Nothing
Set myR2 = Nothing

End Sub

如果您想走 VBA 路线,希望这会有所帮助。

于 2013-06-21T01:32:45.600 回答