比如现在存在a b 两个窗体,b中存在一个public 的 totext 的方法
现在我在a中用 fromshow= froms.add("b") fromshow.show 1 方式打开了b ,接着我要做的是将a中处理好的字符串传中b中totext 让其执行,但我发现这时无法处理,因为我无法找到b这个窗体。
请不要用什么,固定引用之类的操作( XXX as a),因为b并不知道它调用自己的窗体
现在我在a中用 fromshow= froms.add("b") fromshow.show 1 方式打开了b ,接着我要做的是将a中处理好的字符串传中b中totext 让其执行,但我发现这时无法处理,因为我无法找到b这个窗体。
请不要用什么,固定引用之类的操作( XXX as a),因为b并不知道它调用自己的窗体
解决方案 »
- 高分求解!能否将word文件中的文本和图片(或公式)分别存取于Access的文本和OLE两个字段?
- 实时错误'91' 对象变量或with变量未设置
- 请问VB有没有移动窗口的事件啊?
- 谁帮助简化一下!
- 证券股票数据实时接收的问题
- ?毕业了,想搞软件方面的工作,好迷茫,请过来的大哥大姐指点指点???!!!
- 哪位高手帮帮忙啊?[两个数据库初级问题]
- 我用函数SHFileOperation来删除一些文件与文件夹,当某个文件与文件夹不存在的时候,系统就会后错误信息,如何屏蔽他?
- directdraw的表面为什么老在前面,弹出窗体无法显示
- 哈哈哈哈VBScrpit
- vb如何用代码控制Word自动生成目录?
- 如何用VB在文件本文件中间插入行?
Private Sub Command1_Click()
Dim fromshow As Form
Dim o As Object
Set f = Forms.Add("b")
f.Show 1
Set o = f
o.totext "hello world"
End Sub
比如现在存在a b 两个窗体,a中存在一个public 的 totext 的方法
现在我在a中用 fromshow= froms.add("b") fromshow.show 1 方式打开了b ,接着我要做的是将b中处理好的字符串传中a中totext 让其执行,但我发现这时无法处理,因为我无法找到a这个窗体。 请不要用什么,固定引用之类的操作( XXX as a),因为b并不知道它调用自己的窗体是什么
Set o = f
a.totext o.MyProperty
MyProperty = Me.Text1.Text
end property
和
private mvarMyProperty as string
public property get MyProperty as string
MyProperty = mvarMyProperty
end property是不一样的,最好使用第二种方法。
data = mvardata
end propertypublic property let data(byval vdata as string)
mvardata = vdata
text1.text = mvardata
end propertyprivate form_unload (cancel as integer)
mvardata = text1.text
end sub
Test1.text=str
b > Dim frm As Form
Set frm = Forms.Add(fmdname)
frm.totext psqlstr
me.Unload
以上是我现程序中的使用,如果我用frm.show 1 数据在新的from中显示正常,但我现在想的是在原有调用的from中将数据显示上去
'在这里把a窗体的对象传入b,再调用下面一句话显示b
fromshow.show 1
比如现在存在a b 两个窗体(a窗体是一个呈现窗体,b是一个查询窗体)a窗体中存在一个public 的 totext 的方法程序原理
1、程序运行只有a一个窗体。
2、现在我在a中command_click用以下代码将 fromshow= froms.add("b") fromshow.show 1 方式打开了b窗体
3、接着我要做的是将b中处理好的查询字符串传中a中totext 让其执行,将执行后的结果显示在a窗体的表格控件中。
问题来了:我用以下代码无法取的效果
b窗体代码> Dim frm As Form
Set frm = Forms.Add(fmdname)
frm.totext psqlstr
frm.show 1
me.Unload
在frm.show 1 在程序中会新生成一个窗体,其中控件上显示数据,但我现在想的是在原有调用的a窗体中将数据显示上去,而不是a窗体新生成的副本上。
要把B中的数据送A,无非两种办法,一是我上面说的在B中声明属性从A中访问,而是在B中声明事件在A中接受。
实在没搞懂打开个查询窗口为什么要用Forms.Add,想不通
Dim frm As Form
Set frm = Forms.Add(fmdname)
估计你在打开B之前,forma已经unload了吧,这样的话,肯定会生成forma的一个新实例,解决办法:调整forma的Visible属性显示和隐藏窗体
a.from
Option ExplicitPrivate Sub Command1_Click()
Dim frm As Form
Set frm = Forms.Add("b")
Text2.Text = "aaaa"'判断是否打开的是原窗体
frm.ShowEnd SubPublic Sub totext(ByVal str As String)
Text1.Text = str
End Sub
b.from
Option ExplicitPrivate Sub Command1_Click()
Dim frm As Form
Set frm = Forms.Add("a")
frm.totext "select * from sql"
frm.Show
End Sub
没搞懂为什么要调两次Forms.Add
form a ;
Option ExplicitPrivate Sub Command1_Click()
Dim frm As Form
Set frm = Forms.Add("b")
Text2.Text = "aaaa"'判断是否打开的是原窗体
frm.ShowEnd SubPublic Sub totext(ByVal str As String)
Text1.Text = str
End Sub
b.from
Option ExplicitPrivate Sub Command1_Click()
Dim frm As Form
set frm=a
frm.totext "select * from sql"
frm.Show
End Sub
Option ExplicitPrivate Sub Command1_Click()
'Dim frm As Form
'Set frm = Forms.Add("a")
'以上不要
a.totext "select * from sql"
a.Show
End Sub是不是要这个?