Private Sub Form_Load()
Form1.Show
..
End Sub

解决方案 »

  1.   

    或在
    Private Sub Form_Activate()End Sub
      

  2.   

    to Jneu(沧海桑田) 
    你的意思是说用form_load事件来控制;另一个窗体打开吗?
    他的意思是不是显示内容的窗体就是form_load的窗体?
    请您指点,谢谢?
      

  3.   

    建立自己的属性!
    Public Property Let data(ByVal vNewValue As Variant)
    '把初始化内容通过属性传进来!
    '
    End Property
      

  4.   

    >>如果在form的load中,当前记录的定位无法实现
    >>如果在form调用前设置,有些语句有时会不起作用,比如findfirst,movenext等。怎么会有这种情况???
      

  5.   

    显示内容的窗体就是form_load的窗体
      

  6.   

    定义一个属性把你Public Property Let data(ByVal vNewValue As object)
    set data控件=vNewValue 
    End Property调用前先在其他把控件中的内容填好
    然后
    form1.data=data控件应该就行啦!
      

  7.   

    放在Form_activate中没用Private Sub Form_Activate()Dim SQL As StringSQL = "ID=" + Trim(Str(thisSource))With Data1.Recordset
        .FindFirst SQL    MsgBox SQL
        If .NoMatch Then
            MsgBox ("没找到" + SQL + "的节目源!")
        Else
            MsgBox .Fields("ID")
            DBCombo1.BoundText = .Fields("节目源名称").Value
            Text2 = .Fields("路径")
            Text3 = .Fields("文件名")
            
        End If
    End WithEnd SubSQL显示“ID=6"时,
    后面打印显示"4"
    findfirst根本没有实现Data1的重新定位。
      

  8.   

    如果From是在From2中调用,则在From2请用From前:Load From'在这儿设置From的数据控件...From.show
      

  9.   

    我就是在Form2的Load form后设置的,
    但是不起作用。
    不过,另一个类似的程序就起作用。
    我在Form2中设置的同时,还在Form.load中设置了 Data控件的数据库文件名(Databasename)和数据源(RecordSource)。
      

  10.   

    在FORM1中
    Private Sub Command1_Click()
    Form2.Show
    Form2.Adodc1.ConnectionString = ""
    Form2.Adodc1.CommandType = adCmdUnknown
    Form2.Adodc1.RecordSource = ""
    Form2.Adodc1.Refresh
    Form2.DataGrid1.ReBind
    Form2.DataGrid1.Refresh
    Form2.Adodc1.Recordset.MoveLast
    END SUB
      

  11.   

    假设你的data控件在Form1上
    这样调用:
    {
    ...
    form1.load //不显示但对象生成
    form1.data1. ...
    form1.show
    ...
    }
      

  12.   

    以上可以解决这一类的问题
    写在Form_activate不是很好项目大了不太好控制
      

  13.   

    to baoxiang(包香) 我用的是Data控件,可能得用Dao吧?
    不知道Ado能否管用。to : nothingneed(玄痴) 你得做法和我一直的用法一样。
    但是,在本例中,出现了Form2中Data.recordset.findfirst失灵的现象,
    不知是否和在Form1的 Load()中定义了数据源有关
    form1_load()Data1.databasename=app.path+"\xxx.xxx"
    Data1.recordsource="select * from xxx where ..."
      

  14.   

    没有必要在form1_load()中定义Data1中任何的东西呀
    都可以在load之后定义呀
    form1.load 
    form1.data1.//这里定义
    form1.show
      

  15.   

    用DAO也一样,在FORM1中
    Private Sub Command1_Click()
    Form2.Show
    Form2.Data1.Databasename=""
    Form2.Data1.RecordSource = ""
    Form2.Data1.Refresh
    Form2.DataGrid1.ReBind
    Form2.DataGrid1.Refresh
    Form2.Data1.Recordset.MoveLast
    END SUB 
      

  16.   

    在load事件里将数据控件的属性赋值为新的就行了
      

  17.   

    load form1
    form1.data1.databasename=app.path & "\aaa.mdb"
    form1.data1.recordsource="select * from table1"  '或者只用表名
    form1.data1.refresh
    form1.show
      

  18.   

    搞定了。
    是因为Form1中的一个DBCombo控件的Click属性中又定义了一个findfirst造成的。
    加了一个flag,让一开始不启动就行了。
    散分,散分。
      

  19.   

    在Form_Activate事件中完成你的初始化工作