访问更新字段

时间:2015-04-23 21:37:21

标签: ms-access access-vba

我目前正在为我的家庭计算机业务的库存编写一个数据库,似乎遇到了一些麻烦。我的问题是:

Microsoft Access是否可以根据组合框中的选择结果更新表单上的字段,但仍然可以更新更新的字段?如果是这样,我该怎么做?

示例:

表1(名为Defaults)具有“Name”,“Processor Speed”,“Memory Size”和“Hard Drive Size”字段。这保留了每个“名称”应该是这些值的“默认值”。

示例:

Dell OptiPlex 520,2000MHz,1GB和80GB。

Dell OptiPlex 620,2200MHz,1.5GB和120GB。 等

表单正在将数据输入到名为“Inventory”的第二个表中。该表单包含一个要选择的名称列表,以及用于填写处理器速度,内存大小和硬盘驱动器大小的位置,以及序列号,已安装的软件,上次使用的日期等。

当我选择“戴尔Optiplex 520”从下拉框中,我想要的形式来更新与所述默认为它的文本字段,但这些字段仍然需要可改变(例如,如果有存储器安装的2GB)记录到第二个表格,这是我运行报告的地方。

我目前正在使用VLOOKUP处理Excel电子表格,以便在更改名称时更新值,但我不确定如何使此概念在Access中有效。我尝试过使用DLOOKUP命令,但它似乎对我不起作用。我很可能没有正确使用它。

我认为这将有事情做对组合框,然后有一些VBA代码,看看“名称”字段的表单上的“更新后”属性中,从“默认检索与该名称关联的值“表,并将它们写入表单上的其他文本框,但我仍然不确定如何实现这一点。

提前感谢您在此方面提供的任何帮助!

1 个答案:

答案 0 :(得分:0)

以下是HowTo:

  1. 使用以下字段创建表t_DefaultPCs:PcType,Speed,Ram,HDD
  2. 创建另一个表格t_Inventory,其中包含类似字段和ID字段,例如您的库存编号:InventoryId,PcType,Speed,Ram,HDD
  3. 创建查询ql_DefaultPCs:SELECT t_DefaultPCs.PcType,t_DefaultPCs.Speed,t_DefaultPCs.Ram,t_DefaultPCs.HDD FROM t_DefaultPCs ORDER BY t_DefaultPCs.PcType;
  4. 根据表库存创建表单向导:选择表库存,表单向导,所有字段,完成
  5. 在此表单中添加一个组合框。调用组合框ComboDefaultPCs并更改以下属性:RowSource:ql_DefaultPCs,列数:4,列宽:4cm; 2cm; 2cm; 2cm

  6. 添加以下代码:

    Private Sub ComboDefaultPCs_Click() PcType = ComboDefaultPCs.Column(0) Speed = ComboDefaultPCs.Column(1) Ram = ComboDefaultPCs.Column(2) HDD = ComboDefaultPCs.Column(3) End Sub

  7. 您仍然必须自己编写代码以在库存表中创建新记录并保存记录。您可以在组合框中选择一个默认PC,它将填写清单表的字段。您可以覆盖所有这些字段,但不会更改默认值。

    enter image description here