Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
问题场景:
有一个产品信息表"产品信息表",包含:产品编码,产品名称/规格型号等信息,数据量非常多.
在其它表中使用产品信息时,为避免数据冗余,都只引用了"产品编码"这一个信息.
(在多个表中都有这个需求,为此设计一个公用的窗体.)为方便操作者录入"产品编码",打算设计一个窗体Form(包含"产品信息表"Table"),以便让其选择某个产品.
这样的话,就需要首先定义一个"自定义函数"SelectProduct,在该函数中打开窗体,并让操作者选择产品信息.
问题是:窗体一旦关闭,就无法从Forms("选择产品").Controls("TableProduct")中获取Current信息,也就无法得到"产品编码"列的值.
请帮忙指点一下,谢谢.
补充:在帮助文件中的窗体使用范例里面,是在窗体关闭Close之前,在窗体的事件中,直接操作数据表格修改了其中的信息.
达不到我的需求(按范例的方式,我得为每个使用选择产品操作的表格设计功能完全相同的多个窗体).
也不符合编程的模式.相当于在一个额外的子程序中,操作了宿主的数据.这样的程序内部关联太多,不便于调试.
版主:
能不能不采用全局变量的方式传递信息?
全局变量有好处,但按这样的方式做的话,估计我这个项目中使用的全局变量数目不可容忍.
(而且以前的编程经历也使得我很久不习惯全局变量的方式了,抱歉)
希望能有更好的方式.
我正尝试用狐表设计一个生产管理系统.
涉及:
层次式的机构设置
角色配置
自定义的权限控制
物料编码
产品物料清单管理BOM
生产计划的下达,分解,过程监控
等等.
考虑分布式应用.(因试用版,暂时还未测试狐表在网络部署时的性能,这方面也希望版主能提供一些指导).
谢谢
呵呵,窗口关闭了是肯定不能取值了,这是显然的
如果不用全局变量,就只能就在BeforeClose事件中将值写入到应该写入的行。
已测试过.
虽然窗体Form属于某个表格,但在自定义函数中 或者在其它表格中,还是可以通过Forms("窗口名")来引用某个其它表格内的窗体的.
但是,没有合适的办法从Form中回传数据.
一般说来,都是在窗口的按钮事件,关闭前事件使用数据,很少需要关闭后使用的。
你要在窗口关闭后不使用中间途径传递数据是无解的,窗口既然关闭,就不复存在,从哪里取数据呢?
所以必须保存在一个变量中,这不存在变量过多的问题,设计程序使用部分全局变量也正常啊。
关闭窗口前,通过代码将这些值Current信息写入到指定的位置(比如采用一个专用的数据存取表、或者写入项目信息)。