回 帖 发 新 帖 刷新版面

主题:表单传递参数问题,请教!

现在有A.B两个表单,在B表单的CANMAND1的CILK中打开XX表,并把XX表的3个字段内容分别赋与

A表单的3个TEXT控件中,请问改如何做?需要设置A表单为全局变量吗?具体该怎么做?

回复列表 (共12个回复)

沙发

B表单的 COMMAND1 的 CILCK 代码
DO FORM A表单 NAME A表单 WITH THISFORM.TEXT1.TEXT,THISFORM.TEXT21.TEXT,THISFORM.TEXT3.TEXT

A表单的 INIT 代码
PARA TXT1,TXT2,TXT3  &&这三个变量就是传递过来的B表单的三个TEXT控件的值。

板凳

DO FORM A表单 NAME A表单 WITH THISFORM.TEXT1.TEXT,THISFORM.TEXT21.TEXT,THISFORM.TEXT3.TEXT

提示:不能识别的成员 TXET1

还有需要说明下,A表单是顶层表单,B表单在A表单下运行(在顶层表单中)
我之前的代码是这样的:
B表单的COMMAND1 的 CILCK 代码
PUBLIC aset_F,bset_F,cset_F
aset_F=包装清单.产品名称a
bset_F=包装清单.组件名称a
cset_F=包装清单.清单图号a

主表单.text1.Value=aset_F
主表单.text2.Value=bset_F
主表单.text3.Value=cset_F


主表单.text1.backcolor=RGB(0,255,128)
主表单.text2.backcolor=RGB(0,255,128)
主表单.text3.backcolor=RGB(0,255,128)

主表单.text1.Forecolor=RGB(0,0,0)
主表单.text2.Forecolor=RGB(0,0,0)
主表单.text3.Forecolor=RGB(0,0,0)

主表单.Refresh
A表单就是(主表单),我在连编之前这段代码能用,在连编之后提示:找不到对象 主表单?请问我的问题出在哪里?

3 楼

夕阳无限近黄昏,光芒依旧映乾坤;
遥望大地霞光处,笑洒余辉伴路人。 

嘿嘿,sywzs老师写的很好!祝您身体健康!!

4 楼

绝缘子2009
[quote]提示:不能识别的成员 TXET1
[/quote]
打字的时候打错了,应该是 TEXT1。

另外,子表单向主表单传递数据,最好定义全局变量。

5 楼

在A表的INIT事件中分别设置3个TEXT控件就可以了,根本就就不需要传递参数---你的XX表只要没关闭就行:
 with this
   .text1.value = xx.??
   .text2.value = xx.??
   .text3.value = xx.??
endwith

6 楼

[quote]绝缘子2009
[quote]提示:不能识别的成员 TXET1
[/quote]
打字的时候打错了,应该是 TEXT1。

另外,子表单向主表单传递数据,最好定义全局变量。[/quote]


我现在就是不知道怎么设置全局变量,设置哪个?表单吗?

我不知道该怎么做,请老师指点下!!

7 楼

可以在主表单的 Load 事件中加入
Public TXT1,TXT2,TXT3

8 楼

sywzs 老师你看下我截的图,按您给的方法做的!

9 楼

从程序错误对话框看,文本框控件 TEXT1 好像不在当前表单中。
你好像把主表单与子表单的关系弄反了,子表单不应该调用主表单。把程序传给我,帮你分析一下。

10 楼

现在有A.B两个表单,A表单是顶层表单,B表单在A表单下运行(在顶层表单中)。在B表单的CANMAND1的CILK中打开XX表,并把XX表的3个字段内容分别赋与A表单的3个TEXT控件中,请问改如何做?

如果一开始就这样问,要少走很多弯路。呵呵

这问题简单,假设A表单(文件名:主表单.SCX),A表单的3个TEXT控件是TEXT1、TEXT2、TEXT3。

假设开始A表单的启动方式就是命令: DO FORM 主表单.SCX

则B表单的CANMAND1的CILCK:

主表单.TEXT1=字段1
主表单.TEXT2=字段2
主表单.TEXT3=字段3

我来回复

您尚未登录,请登录后再回复。点此登录或注册