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 如何使用基于另一个字段选项的表中的信息更新字段_Ms Access_Ms Access 2007 - Fatal编程技术网

Ms access 如何使用基于另一个字段选项的表中的信息更新字段

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

我正在使用Access 2007构建一个数据库。我在访问方面没有很多经验,也不知道如何完成这项任务

我构建了一个条目表单,有一个名为Product的字段,它是一个下拉列表,用于从Product表中提取信息。产品表的设置如下所示:

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


谢谢你,戈尔!我修改了几件,但得到了我想要的。谢谢你的帮助!: