在form2中有label1
在form2的load中有
sql="select * from table1 where id=" & trim(label1.caption)
rs.open sql,cnn  'bbb
'cnn rs均已定义在form1中有如下语句
form2.label1.caption="12345"    'aaa
form2.show结果在aaa以后,bbb一句发生错误
执行如下操作
? "sql=" & sql
select * from table where id=label1怎么解决?我现在是在form_load中做了一个延时解决的,但一定应该有更好的办法,请赐教!

解决方案 »

  1.   

    怎么用?
    给个关键词好查msdn
    shy
    谢了
      

  2.   

    dim aa as new form2 
    load aa
    aa.label1.caption="12345"    
    aa.show
    试试看!
      

  3.   

    当然不行了1
    和直接load form 一样啊
      

  4.   

    添加一个Module,用Public申明一个变量,将需要传递的值保存在该变量中。
      

  5.   

    全局变量是编程的大忌。只有低级的程序员才用全局。通常不是必须都不会这样。窗体间。只要在窗体中声明Public即可用Form1.Some调用到。同时。tag属性中还可以为你保存一个公用变量。
      

  6.   

    To missbo()
      如果Form Unload了哩?
      

  7.   

    把FORM2的那些东西写在FORM的ACTIVATE中不就可以了吗?
      

  8.   

    我认为,问题的关键是在执行form2.label1.caption="xxxxx" 的时候,form_load限于赋值被执行,也就是说如果在form_load中引用label1.caption的值讲得不到"xxxxx",而得到的是在“设计时”的form2中的label1.caption的值。
    前面提到,我解决这个问题是在form_load中做Timer1.Interval = 200,然后在Timer1_Timer中做Timer1.Interval = 0以及引用form2.label2.caption。则在一般情况下是可以成功的,但这显然不是一个好方法。
    不好的地方在于:1、窗体显示以后需要一小段时间才能显示正常信息(如果信息和label1有关的话,just like  "select * form table where id=" & label1.caption );2、如果机器很忙,在延时以后还没有处理到为label1.caption赋值则会发生错误。
    所以,现在向各位求教一些好的方法,希望各位在实际开发中有经验的同志提供一些宝贵经验。to zhangpi 首先感谢zhangpi同志的热心 :)
    to missbo{} 谢谢你提供的建议,但是之所以提这样的问题,当然是unload form2以后了事了。 呵呵:)
    to 花不语同志题的办法是可行的,谢谢。