2011-12-12 57 views
1

从单个数据库表中使用自动生成的表单。该表格使用c:\Program Files\Microsoft Visual FoxPro 9\Wizards中包含的0123'类。该表单具有Top,Previous,Next和Bottom按钮。FoxPro总计表格字段

尽管窗体只有文本框才能输入表中字段的数据,但我已经从工具箱添加了一个自定义文本框,它基本上是为了显示一些字段的总和。我已将文本框的ControlSource绑定到在表单init上创建的PUBLIC变量costTotal

现在问题是更新文本框中的字段总数,或者只是更新costTotal的值。 在哪里可以添加代码?在窗体的Refresh方法中添加代码会混合值costTotal,当我按下一步按钮以使用新值更新所有字段时,自定义文本框将显示最后一条神秘记录的总和。

回答

1

我会添加一个方法到窗体来做计算。然后,从计算中涉及的每个文本框的有效方法中调用该方法。

+0

Next,Previous按钮呢?它移动到表中下一条记录的记录指针 – yolo

+0

也可以从这些按钮的Click方法中调用方法。 –

0

没有什么错误使用的刷新事件重新计算值,只是确保你调用刷新每个如果您正在使用导航按钮在记录之间移动,然后单击事件的记录更改

时间每个按钮发出刷新请求的理想场所: -

假设文本框被称为txtSum,位于同一窗体上的导航按钮,然后在每个按钮单击事件中添加以下代码

dodefualt() 
with thisform 
.txtSum.refresh() 
endwith 
0

几件事:

1)不要使用向导!制作你自己的基础班。试图弄清楚向导类所做的事情以及如何添加功能将需要更多时间来编写自己的基类。另外,向导生成的代码和类必须在10/20岁左右,自那以后发生了很大变化(一种有礼貌的方式称他们吸吮)。

2)永远不要在FoxPro中使用公共变量,除了可能是一个应用程序对象。

如果这是一个镜头,只需添加默认的文本框和按钮,并自己设计表单。你将拥有完全的控制权,并且你会知道每件事都做了什么。