| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1451 人关注过本帖
标题:上级表单如何给下一级被调用表单传变量值(非全局变量)?
只看楼主 加入收藏
强国学习
Rank: 2
等 级:论坛游民
帖 子:58
专家分:19
注 册:2020-4-1
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:18 
上级表单如何给下一级被调用表单传变量值(非全局变量)?
请问如何实现:表单1里有一个表格grid1,数据来源于一个表,里面的数据是通过APPEN FROM写入表并通过grid1即时显示出来的,通过双击grid1第2行TEXT1事件,打开另一个表单2,并把行号2传给表单2使用?
搜索更多相关主题的帖子: 变量值 全局变量 数据 调用 表单 
2021-02-26 12:32
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10539
专家分:42927
注 册:2014-5-20
收藏
得分:19 
DO FORM 命令的 WITH 参数
如果打开表单2时表数据记录指针没移动,在表单2直接对表操作就可以。
2021-02-26 18:42
强国学习
Rank: 2
等 级:论坛游民
帖 子:58
专家分:19
注 册:2020-4-1
收藏
得分:0 
回复 2楼 吹水佬
比如指针指向行号3,要操作行号2,我原来是用了do form form1 with 2命令,在表单2的init事件中加入了parameter hh,在avtivate事件中有sele 表,go hh命令,运行执行到go hh 时提示命令错误。
2021-03-01 08:15
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10539
专家分:42927
注 册:2014-5-20
收藏
得分:0 
回复 3楼 强国学习
出错提示什么内容?
参考示例:
图片附件: 游客没有浏览图片的权限,请 登录注册

程序代码:
CREATE CURSOR tt (f1 I, f2 I)
FOR i=1 TO 10
    INSERT INTO tt VALUES (i, 2*i)
ENDFOR
GO 3
of = CREATEOBJECT("form1")
of.show(1)
RETURN

DEFINE CLASS form1 as Form
    ADD OBJECT cmd1 as CommandButton WITH Top=10,Left=10,Height=22,Caption = "form2"
    PROCEDURE init
        this.Caption = "当前记录号:"+TRANSFORM(RECNO())
    ENDPROC
    PROCEDURE cmd1.Click
        of2 = CREATEOBJECT("form2",2) &&相当于 do form form2 with 2
        of2.show(1)
    ENDPROC
ENDDEFINE

DEFINE CLASS form2 as Form
    top = 100
    left = 100
    PROCEDURE init(n)
        GO n
        this.Caption = "当前记录号:"+TRANSFORM(RECNO())
    ENDPROC
ENDDEFINE

或者:
程序代码:
CREATE CURSOR tt (f1 I, f2 I)
FOR i=1 TO 10
    INSERT INTO tt VALUES (i, 2*i)
ENDFOR
GO 3
of = CREATEOBJECT("form1")
of.show(1)
RETURN

DEFINE CLASS form1 as Form
    ADD OBJECT cmd1 as CommandButton WITH Top=10,Left=10,Height=22,Caption = "form2"
    PROCEDURE init
        this.Caption = "当前记录号:"+TRANSFORM(RECNO())
    ENDPROC
    PROCEDURE cmd1.Click
        GO 2
        of2 = CREATEOBJECT("form2") &&相当于 do form form2
        of2.show(1)
    ENDPROC
ENDDEFINE

DEFINE CLASS form2 as Form
    top = 100
    left = 100
    PROCEDURE init
        this.Caption = "当前记录号:"+TRANSFORM(RECNO())
    ENDPROC
ENDDEFINE
2021-03-01 09:42
强国学习
Rank: 2
等 级:论坛游民
帖 子:58
专家分:19
注 册:2020-4-1
收藏
得分:0 
回复 4楼 吹水佬
老师麻烦您帮看看,我是想把do from xjxg1 with 2 的2传给表单xjxg1中的activate事件的 go hh选择行号用,意思是go hh就是go 2。当
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
go hh时提示命令错误,go alltrim(hh)时提示函数参数的值或类型无效。
2021-03-01 13:08
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9799
专家分:26886
注 册:2012-2-5
收藏
得分:1 
图片附件: 游客没有浏览图片的权限,请 登录注册

坚守VFP最后的阵地
2021-03-01 13:15
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9799
专家分:26886
注 册:2012-2-5
收藏
得分:0 
go alltrim(hh)时提示函数参数的值或类型无效。
改为
go hh

坚守VFP最后的阵地
2021-03-01 13:17
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10539
专家分:42927
注 册:2014-5-20
收藏
得分:0 
回复 5楼 强国学习
1、在init过程定义的hh是局部变量,init过程结束后就被释放,在执行Activate过程时hh变量不存在。
2、在init过程将hh保存在一个自定义的表单属性,在执行Activate过程时调用。
3、在Activate事件改变记录指针时要注意Activate事件的触发条件,程序运行时有可能会多次触发Activate事件。


2021-03-01 14:13
强国学习
Rank: 2
等 级:论坛游民
帖 子:58
专家分:19
注 册:2020-4-1
收藏
得分:0 
回复 8楼 吹水佬
老师麻烦您直接给出获取到2的语句,谢谢!
2021-03-01 16:41
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10539
专家分:42927
注 册:2014-5-20
收藏
得分:0 
以下是引用强国学习在2021-3-1 16:41:34的发言:

老师麻烦您直接给出获取到2的语句,谢谢!

可以参考4楼,具体变通一下就OK
2021-03-01 18:19
快速回复:上级表单如何给下一级被调用表单传变量值(非全局变量)?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017642 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved