Ms access 如何使用基于另一个字段选项的表中的信息更新字段
我正在使用Access 2007构建一个数据库。我在访问方面没有很多经验,也不知道如何完成这项任务 我构建了一个条目表单,有一个名为Product的字段,它是一个下拉列表,用于从Product表中提取信息。产品表的设置如下所示:Ms access 如何使用基于另一个字段选项的表中的信息更新字段,ms-access,ms-access-2007,Ms Access,Ms Access 2007,我正在使用Access 2007构建一个数据库。我在访问方面没有很多经验,也不知道如何完成这项任务 我构建了一个条目表单,有一个名为Product的字段,它是一个下拉列表,用于从Product表中提取信息。产品表的设置如下所示: Product Name Commodity -------------------------------------------- Product #1 Soybean Product #2 Soybean Meal
Product Name Commodity
--------------------------------------------
Product #1 Soybean
Product #2 Soybean Meal
Product #3 Corn
我还有另一个字段,名为HTS Commodity,它是从HTSUS表中提取信息的下拉列表。此字段已锁定,我希望在有人从“产品”字段中选择产品后自动更新该值。这是HTSUS表:
Commodity HTSUS Value
--------------------------------------------
Soybean 1.1.1
Soybean Meal 2.2.2
Corn 3.3.3
当一个人在“产品”字段中选择一个项目时,它会显示产品名称。一旦他们选择了商品,我希望字段HTS Commodity根据表中的商品列自动更新,但显示HTSUS Value列
Product: Product #2 (Soybean Meal)
HTS Commodity: 2.2.2 (Soybean Meal)
我希望这是有道理的。我知道如何使用不同的构建器创建宏,但我不确定如何实现这一点。我一直在尝试使用AfterUpdate宏。提前感谢您的帮助。这里有一种方法: 首先创建一个名为HTSUS_by_Product的已保存查询,其SQL代码为
SELECT Product.[Product Name], HTSUS.[HTSTS Value]
FROM Product INNER JOIN HTSUS ON Product.Commodity = HTSUS.Commodity;
它将产生这样的结果
Product Name HTSUS Value
------------ -----------
Product #1 1.1.1
Product #2 2.2.2
Product #3 3.3.3
Private Sub cbxProductName_AfterUpdate()
Me.txtHtsus.Requery
End Sub
现在,在表单上,假设有一个名为cbxProductName的组合框,它从[Product]表中的[Product Name]字段获取其值。从列表中选择产品1时,cbxProductName.Text将为产品1
现在在表单上创建一个文本框,并将其命名为txtHtsus。将其锁定属性设置为“是”,并输入以下内容作为其控制源属性:
=DLookUp("[HTSUS Value]","HTSUS_by_Product","[Product Name]=""" & [cbxProductName].[Text] & """")
现在,在cbxProductName组合框控件的After Update事件中,单击省略号按钮[…],选择代码生成器,然后向cbxProductName_AfterUpdate过程添加.Requery语句,如下所示
Product Name HTSUS Value
------------ -----------
Product #1 1.1.1
Product #2 2.2.2
Product #3 3.3.3
Private Sub cbxProductName_AfterUpdate()
Me.txtHtsus.Requery
End Sub
试试看它是否适合你。你需要使用我最喜欢的:dlookup
谢谢你,戈尔!我修改了几件,但得到了我想要的。谢谢你的帮助!: