很抱歉,如果有一个简单的解决方案。我的访问技能严重缺乏......但我正在努力学习。我在excel中完成了这个解决方案,但我一直在寻找一个更强大,更长期的解决方案,并认为Access可以提供帮助。
我有一个Microsoft 2010 Access数据库来存储肥皂制作成分。我的这个数据库的目标是允许我的妻子输入她的肥皂成分,新肥皂的配方,它将告诉她每批肥皂的成本,然后进一步,每个肥皂的成本是多少。我有一张桌子(配料),她可以输入她购买的所有食材,这些食品的尺寸(磅,盎司)以及它们的价格。我想自动计算这些磅和盎司到盎司,以便更容易计算成本。我已经提出了几个解决方案,让我得到答案,但我一直无法找到存储这些结果的方法。
首先,我创建了一个After Update
事件,在她移出盎司框后,将在文本字段中输入TOTAL OUNCES。这样做的问题是TOTAL OUNCES没有存储在任何地方,所有表记录都显示最后更新的值。
我尝试创建一个工作正常的查询,但同样,我无法将这些结果附加到Ingredients表。我的查询的最新迭代看起来像这样。我在Ingredients表(OuncesConverted)中有一个字段,我想存储这些信息。
INSERT INTO Ingredient ( OuncesConverted )
SELECT 16*[Pounds]+[Ounces] AS OuncesConv
FROM Ingredient;
当我运行此查询时,出现以下错误。
Microsoft Access无法在追加查询中附加所有记录。由于类型转换失败,Microsoft Access将0字段设置为Null,并且由于密钥违规而没有向表中添加0条记录,由于锁定违规而导致0条记录,以及由于验证规则违规导致的9条记录。 你想要运行动作查询吗? 要忽略错误并运行查询,请单击“是”。 有关违规原因的说明,请单击“帮助”。
当我点击“是”时,没有任何反应。
非常感谢任何帮助。我可能会过度思考这个问题,当我不知道某个程序时我会做什么。
答案 0 :(得分:2)
您不应该插入,也不应该更新,只需选择:
SELECT
*, (16 * [Pounds] + [Ounces]) As OuncesConverted
FROM
Ingredient
这将替换您可以从表中删除的字段OuncesConverted
。然后使用此查询作为表单的源。