【问题标题】:Save a calculated result in a table using a query (Access 2007)?使用查询 (Access 2007) 将计算结果保存在表中?
【发布时间】:2014-01-09 06:29:56
【问题描述】:

我有一个包含多个项目站点的表单,其中一个字段标记为“项目开始日期”。我在标有“预计项目完成日期”的表单中有另一个字段。这两个字段都存储在标有“常规项目信息”的表中(好吧,至少这是表单信息的来源)。

我可以通过将 10 天添加到项目开始日期来手动填写提议的项目完成日期,但我想将其设为计算字段,即一旦有人输入项目开始日期,访问会自动计算提议的项目完成日期日期。

我知道您可以使用查询来计算:新查询-->包括项目 ID 和项目开始日期字段,然后制作第三个字段--> 建议完成日期:DateAdd("d",10,[项目开始日期])。这将生成一个查询结果,其中有一列包含所有站点、一列包含项目开始日期和一列包含 10 天后的日期。完美的。但是,我如何将这些新结果存储在我现有的 General Project Info 表中并让它们出现在表单中?我显然是一个初学者,并且缺少一些东西。

感谢您在此问题上提供的任何帮助。

哦,我使用的是 Access 2007。

【问题讨论】:

    标签: ms-access-2007


    【解决方案1】:

    您可以使用表单上项目开始日期的更新后事件将项目结束日期控件更新为项目开始日期 + 10,但如果答案总是 + 10,为什么还要存储日期?只需使用您的查询来显示结束日期。

    Private Sub StartDate_AfterUpdate()
         Me.EndDate = Me.StartDate + 10
    End Sub
    

    或者

    SELECT StartDate, StartDate + 10 As EndDate FROM ATable
    

    编辑

    要添加更新后事件,请使用表单设计视图中的属性表。选择[事件程序],然后单击三个小点。它将打开代码窗口,您可以将代码添加到事件中。您需要为控件使用正确的名称,但如果您键入 Me.,智能感知将帮助您提供属性、方法和控件的名称。

    【讨论】:

    • 如何使用查询结果显示拟定日期?我不能在表单上创建文本框并将查询用作我的控制源,可以吗?
    • 否,但用户是否需要与 EndDate 交互?如果是,请使用上面的选项 1,如果不是,只需将控制源设置为 =StartDate+10,在文本框中显示 startdate + 10。用户无法编辑以这种方式设置的文本框。这完全取决于日期是否始终为 startdate + 10。
    • 感谢您的帮助,如果我在上一条消息中忘记提及了。回到问题:用户不一定与建议的完成日期进行交互。它只是用户计划和安排其他事情的指南。所以,我可能只使用带有 StartDate+10 的文本框解决方案。我实际上不确定其他解决方案是什么意思。我想在哪里输入“Private Sub StartDate_AfterUpdate()....”,这与第一个解决方案有什么不同?显然这里是初学者,抱歉。
    • 我们都从某个地方开始。您可以在设计视图中查看您的表单并选择开始日期控件的属性表。见上文。
    猜你喜欢
    • 2012-07-15
    • 2016-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-04
    • 1970-01-01
    相关资源
    最近更新 更多