jam.py 如何查找字段的最后一项并计算运行总和?

问题描述 投票:0回答:1

我是 JAM.py 的新手,我正在尝试为飞机创建一个维护数据库。

在用于输入数据的表格上,我输入测速计时间(

tach_in
,航班开始)和出(
tach_out
,航班结束)。

飞行时间的计算很简单。目前状态的一些图片:

前端表单

变量名称

我正在努力解决以下问题:

a) 每次使用表单创建新条目时,如何自动填充新的

tach_in
使其等于前一个(或最后一个)
tack_out
?例如:

Flight N-2 tach_in = 100 tach_out = 101
FLight N-1 tach_in = 101 tach_out = 102

航班 N 是我当前使用以下表格输入的航班:我想要新的

tach_in
= 102(即:前一个/最后一个
tach_out
的值,我只需输入新的
tach_out 

知道如何做到这一点吗?

b) 如何计算飞行时间的总和,以在每次输入后显示新的总时间 (

flight_total
)?

Flight N-2 tach_in = 100 tach_out = 101 flight_duration = 1 flight_total = 1
FLight N-1 tach_in = 101 tach_out = 102 flight_duration = 1 flight_total = 2
Flight N   tach_in = 102 tach_out = 103 flight_duration = 1 flight_total = 3

谢谢您的帮助!

javascript python sum max
1个回答
0
投票

抱歉耽搁了。你找到解决办法了吗?

a) 很简单,只需获取最后一条记录并加 1 将其添加到您的表单中:

function on_before_post(item) {
    if (item.is_new()) {
        let copy = item.copy();
            copy.open();
            if (copy.rec_count ===0) {
                item.entry_number.value = 1;
            }   else {
                //item.entry_number.value = copy.rec_count + 1;
                item.entry_number.value = item.entry_number.value + 1;
            }
    }
}

如果您克隆记录,可以在 https://msaccess.pythonanywhere.com/ 上看到。

b) 不确定我是否听懂了。摘要是自动创建的,就像上面的应用程序一样。如果表单上需要飞行持续时间(如图片所示),则只需使用 JS 计算即可。即:

function on_edit_form_shown(item) {
    if (item.tach_out.value) {
        item.flight_total.value = item.tach_out.value - item.tach_in.value;
    }
}

如果视图网格上需要持续时间,请使用与 msaccess 类似的方法来获取实际金额。

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.