TO jaghuang(jag):不可能呀,如果你能在FORM2中作用 test=form1.testbox1.text 那就说明testbox1是能被正确引用的,所以他的text属性是能被正常获取,你可以单步执行然后看看有没有变化, 如果你的TEST要在一个SUB 或是一个FUNCTION外使用时你要把他定义成FORM2的全局变量,如果是要在FORM2以外使用则要在一个模块中定义并用public test as string
算了,我还是把我两个form的程序贴出来给大家看看吧。其中的DBValue是在module里面定义的全局变量 SearchPO就是SearchForm的一个textbox 现在就是要将它里面的value传到DisplayForm中 但debug.print里面在DisplayForm中的DBValue是空的 Private Sub Form_Load() DisplayForm.Visible = False
End SubPrivate Sub Search_Click() SearchForm.Visible = False DisplayForm.Visible = True DBValue = SearchPO.Text Debug.Print "DBValue in SearchForm : " & DBValue End SubPrivate Sub Form_Load() Dim i As Integer Dim sStr As String Debug.Print "begin" Debug.Print "DBValue in Form3 : " & DBValue
MSFlexGrid1.Visible = True MSFlexGrid1.Clear MSFlexGrid1.TextMatrix(0, 0) = "Title" MSFlexGrid1.TextMatrix(0, 1) = "PO" MSFlexGrid1.TextMatrix(0, 2) = "Price" End Sub
public strAAA as string
我在form2里面定义了一个test为string
然后照你的写test=form1.testbox1.text
但什么都没有哟
test=form1.testbox1.text
那就说明testbox1是能被正确引用的,所以他的text属性是能被正常获取,你可以单步执行然后看看有没有变化,
如果你的TEST要在一个SUB 或是一个FUNCTION外使用时你要把他定义成FORM2的全局变量,如果是要在FORM2以外使用则要在一个模块中定义并用public test as string
SearchPO就是SearchForm的一个textbox
现在就是要将它里面的value传到DisplayForm中
但debug.print里面在DisplayForm中的DBValue是空的
Private Sub Form_Load()
DisplayForm.Visible = False
End SubPrivate Sub Search_Click()
SearchForm.Visible = False
DisplayForm.Visible = True
DBValue = SearchPO.Text
Debug.Print "DBValue in SearchForm : " & DBValue
End SubPrivate Sub Form_Load()
Dim i As Integer
Dim sStr As String
Debug.Print "begin"
Debug.Print "DBValue in Form3 : " & DBValue
MSFlexGrid1.Visible = True
MSFlexGrid1.Clear
MSFlexGrid1.TextMatrix(0, 0) = "Title"
MSFlexGrid1.TextMatrix(0, 1) = "PO"
MSFlexGrid1.TextMatrix(0, 2) = "Price"
End Sub
很奇怪的是我不知道为什么DisplayForm总是比SearchForm先启动
所以每次运行的时候是先运行DisplayForm再运行SearchForm,
但我是将SearchForm设置为Sub Main的呀,照理应该是先运行SearchForm先才对呀
然后我又试着用在SearchForm中的sub load中加入unload DisplayForm,然后在Click中加入load DisplayForm,但都没效果为什么会这样??