Access 2013 - 使用表单中的计算字段更新表

时间:2018-03-18 09:33:36

标签: ms-access-2013 ms-access-forms

我有一个名为df2 = df2.withColumnRenamed('id', 'id_faux') df1.join(df2, df1.id == df2.id_faux, how='left') \ .withColumn('flag', func.when(func.col('id_faux').isNull(), 0).otherwise(1)).drop('id_faux').collect() 的表,其中包含以下四列:

Records

ID | StartChainage | EndChainage | DistanceTraveledDistanceTraveledEndChainage之间的差异。对于每个新记录,StartChainage应该等于前一个记录的StartChainage

我创建了一个名为EndChainage的表单,其中我只能在名为Record1的字段中添加值,而在字段EndChainage中我使用以下表达式:

StartChainage

我实际上说的是表格中的第一条记录"记录" (即ID = 1)=IIf([ID]=1,0,DLookUp("[EndChainage]","Record","[ID]=Forms![Record1]![ID]-1")) 中的值必须为StartChainage,否则应获取前一记录的0字段的值。

这很好用,我有一个带有字段的表单,我只输入EndChainage的值,表格为下一条记录设置EndChainage的值,它还计算{{ 1}}。

问题是计算字段不会更新表的相关字段。在表中,唯一更新的字段是StartChainage个,即。我只手动键入值

如何通过表格的计算字段使表格自动更新?

也许我可以在表格中使用计算字段,但这是我真正想要的。

1 个答案:

答案 0 :(得分:0)

尝试:

=IIf([ID]=1,0,DLookUp("[EndChainage]","Record","[ID]=" & Forms![Record1]![ID]-1 & ""))

检查您是否获得了ID:

=Forms![Record1]![ID]-1