mdi中打开了三个子窗体
form1、form2、form3其中form1中代码如下:Public S_Sql as string
Private Sub Form1_Load()
Sql="select * from db1"
..........
end Sub现在form2中把form1中的S_Sql变成:
Private Sub CmdWSave_Click()
form1.S_Sql="select aa,bb,from db2"
msgbox "修改成功"
form1.show'''''''''''''怎样使Form1重新Load???数据变成更改后的数据,而且只能是打开一个form1不能
end Sub

解决方案 »

  1.   

    如果想重新运行代码,这样 Form_Load
    如果是在别的窗体中就这样 Form1.Form_Load 并且把Form1中的Form_Load改成
    Public Sub Form_Load()End Sub
      

  2.   

    我的程序是这样的frmMain中有用户控件tabTest(同TabStrip差不多),还有Pic(PictureBox)控件数据,共有10个,点击不同的Tab把相应的窗体Load进来,在改变某一个窗体的时候,点击另外一个Tab怎样重新Load???????''''frmMain的代码如下:
    Dim g_Wnd as Long
    Private Sub Form_Load()'用户控件tabTest初始化
    Dim c As cTab
    With tabTest
       .ImageList = ilsIcons      Set c = .Tabs.Add("loan", , "贷款情况")
          c.Panel = Pic(0)
          Set c = .Tabs.Add("basic", , "基本情况")
          c.Panel = Pic(1)
          Set c = .Tabs.Add("freehold", , "不动产情况")
          c.Panel = Pic(2)
          Set c = .Tabs.Add("effects", , "动产情况")
          c.Panel = Pic(3)
          Set c = .Tabs.Add("finance", , "财务状况")  
          c.Panel = Pic(4)
          Set c = .Tabs.Add("assure", , "保证人")      c.Panel = Pic(5)
          Set c = .Tabs.Add("other", , "其他情况")
          c.Panel = Pic(6)
          Set c = .Tabs.Add("risk1", , "风险分析")
          c.Panel = Pic(7)
          Set c = .Tabs.Add("risk2", , "风险认定")
          c.Panel = Pic(8)
          Set c = .Tabs.Add("account", , "贷款审批")
          c.Panel = Pic(9)
    '初始化第一个Tab
          LockWindowUpdate GetDesktopWindow
          frmLoan_100_Loan.CustId = CustId
          frmLoan_100_Loan.ContractNo = ContractNo
          frmLoan_100_Loan.ApplyId = ApplyId
          frmLoan_100_Loan.StateId = StateId
          frmLoan_100_Loan.Refundtimes = Refundtimes
          frmLoan_100_Loan.RegDate = RegDate
          frmLoan_100_Loan.LoanType = LoanType
          Load frmLoan_100_Loan
          frmLoan_100_Loan.Show
          g_Wnd = frmLoan_100_Loan.hwnd
          SetParent g_Wnd, Me.Pic(0).hwnd
          Putfocus g_Wnd
          LockWindowUpdate 0
    End WithEnd SubPrivate Sub Form_Resize()
    On Error Resume Next ' in case form is too small
    tabTest.Move _
       2 * Screen.TwipsPerPixelX, _
       tabTest.Top, _
       Me.ScaleWidth - 4 * Screen.TwipsPerPixelX, _
       Me.ScaleHeight - tabTest.Top - 2 * Screen.TwipsPerPixelY
    '最大化frmLoan_100_Loan
     frmLoan_100_Loan.Move 0, 0, Me.Pic(0).Width, Me.Pic(0).Height
     frmLoan_100_Loan.WindowState = 2
    End Sub'点击不同的Tab显示不同的内容,就是下面点击后不会进行数据更新???????
    Private Sub tabTest_TabClick(theTab As vbalDTab6.cTab, ByVal iButton As MouseButtonConstants, ByVal Shift As ShiftConstants, ByVal x As Single, ByVal y As Single)
    Dim f As Form
    Select Case theTab.Key
    Case "loan"
        LockWindowUpdate GetDesktopWindow
        Set f = frmLoan_100_Loan
        f.CustId = CustId
        f.ContractNo = ContractNo
        f.ApplyId = ApplyId
        f.Refundtimes = Refundtimes
        f.RegDate = RegDate
        f.LoanType = LoanType
        f.CardId = CardId
        f.CustType = CustType
        f.StateId = StateId
        Load f
        
        f.Show
        g_Wnd = f.hwnd
        SetParent g_Wnd, Me.Pic(0).hwnd
        Putfocus g_Wnd
        LockWindowUpdate 0
        f.Move 0, 0, Me.Pic(0).Width, Me.Pic(0).Height
        f.WindowState = 2Case "basic"
        LockWindowUpdate GetDesktopWindow
        Set f = frmLoan_100_Basic
        f.StateId = StateId
        f.CustId = CustId
        f.ContractNo = ContractNo
        f.ApplyId = ApplyId
        f.CustType = CustType
        f.Refundtimes = Refundtimes
        f.RegDate = RegDate
        Load f
        f.Show
        g_Wnd = f.hwnd
        SetParent g_Wnd, Me.Pic(1).hwnd
        Putfocus g_Wnd
        LockWindowUpdate 0
        f.Move 0, 0, Me.Pic(1).Width, Me.Pic(1).Height
        f.WindowState = 2Case "freehold"
        LockWindowUpdate GetDesktopWindow
        Set f = frmLoan_100_FreeHold
        f.ContractNo = ContractNo
        f.ApplyId = ApplyId
        f.Refundtimes = Refundtimes
        f.RegDate = RegDate
        f.Show
        g_Wnd = f.hwnd
        SetParent g_Wnd, Me.Pic(2).hwnd
        Putfocus g_Wnd
        LockWindowUpdate 0
        f.Move 0, 0, Me.Pic(2).Width, Me.Pic(2).Height
        f.WindowState = 2
        Set f = Nothing
    Case "effects"
        LockWindowUpdate GetDesktopWindow
        Set f = frmLoan_100_Effects
        f.ContractNo = ContractNo
        f.ApplyId = ApplyId
        f.Refundtimes = Refundtimes
        f.RegDate = RegDate
        f.Show
        g_Wnd = f.hwnd
        SetParent g_Wnd, Me.Pic(3).hwnd
        Putfocus g_Wnd
        LockWindowUpdate 0
        f.Move 0, 0, Me.Pic(3).Width, Me.Pic(3).Height
        f.WindowState = 2
        Set f = Nothing
    Case "finance"
        LockWindowUpdate GetDesktopWindow
        Set f = frmLoan_100_Finance
        f.ContractNo = ContractNo
        f.ApplyId = ApplyId
        f.Refundtimes = Refundtimes
        f.RegDate = RegDate
        f.Show
        g_Wnd = f.hwnd
        SetParent g_Wnd, Me.Pic(4).hwnd
        Putfocus g_Wnd
        LockWindowUpdate 0
        f.Move 0, 0, Me.Pic(4).Width, Me.Pic(4).Height
        f.WindowState = 2
        Set f = NothingCase "assure"
        LockWindowUpdate GetDesktopWindow
        Set f = frmLoan_100_Assure
        f.ContractNo = ContractNo
        f.ApplyId = ApplyId
        f.Refundtimes = Refundtimes
        f.RegDate = RegDate
        f.Show
        g_Wnd = f.hwnd
        SetParent g_Wnd, Me.Pic(5).hwnd
        Putfocus g_Wnd
        LockWindowUpdate 0
        f.Move 0, 0, Me.Pic(5).Width, Me.Pic(5).Height
        f.WindowState = 2
        Set f = Nothing
    Case "other"
        LockWindowUpdate GetDesktopWindow
        Set f = frmLoan_100_Other
        f.ContractNo = ContractNo
        f.ApplyId = ApplyId
        f.Refundtimes = Refundtimes
        f.RegDate = RegDate
        f.Show
        g_Wnd = f.hwnd
        SetParent g_Wnd, Me.Pic(6).hwnd
        Putfocus g_Wnd
        LockWindowUpdate 0
        f.Move 0, 0, Me.Pic(6).Width, Me.Pic(6).Height
        f.WindowState = 2
        Set f = NothingCase "risk1"
        LockWindowUpdate GetDesktopWindow
        Set f = frmLoan_100_Risk1
        f.ContractNo = ContractNo
        f.ApplyId = ApplyId
        f.Refundtimes = Refundtimes
        f.RegDate = RegDate
        f.Show
        g_Wnd = f.hwnd
        SetParent g_Wnd, Me.Pic(7).hwnd
        Putfocus g_Wnd
        LockWindowUpdate 0
        f.Move 0, 0, Me.Pic(7).Width, Me.Pic(7).Height
        f.WindowState = 2
        Set f = Nothing
    Case "risk2"
        LockWindowUpdate GetDesktopWindow
        Set f = frmLoan_100_Risk2
        f.ContractNo = ContractNo
        f.ApplyId = ApplyId
        f.Refundtimes = Refundtimes
        f.RegDate = RegDate
        f.Show
        g_Wnd = f.hwnd
        SetParent g_Wnd, Me.Pic(8).hwnd
        Putfocus g_Wnd
        LockWindowUpdate 0
        f.Move 0, 0, Me.Pic(8).Width, Me.Pic(8).Height
        f.WindowState = 2
        Set f = Nothing
    Case "account"
        LockWindowUpdate GetDesktopWindow
        Set f = frmLoan_100_Account
        f.ContractNo = ContractNo
        f.ApplyId = ApplyId
        f.Refundtimes = Refundtimes
        f.RegDate = RegDate
        f.Show
        g_Wnd = f.hwnd
        SetParent g_Wnd, Me.Pic(9).hwnd
        Putfocus g_Wnd
        LockWindowUpdate 0
        f.Move 0, 0, Me.Pic(9).Width, Me.Pic(9).Height
        f.WindowState = 2
        Set f = Nothing
    End Select
    End Sub
      

  3.   

    把form_load 里的所有东西写到一个函数中去sub form_load()
        diy
    end subsub diy()
        ....
    end sub
    再在其他地方调用就可以了:call diy
      

  4.   

    例如上面的是form1中的你在form2中就 call form1.diy
      

  5.   

    Call Form_Load和Call form1.diy其实是一样的我就现在是点击tab是,怎么Call????'点击不同的Tab显示不同的内容,就是下面点击后不会进行数据更新???????
    Private Sub tabTest_TabClick(theTab As vbalDTab6.cTab, ByVal iButton As MouseButtonConstants, ByVal Shift As ShiftConstants, ByVal x As Single, ByVal y As Single)
    Dim f As Form
    Select Case theTab.Key
    Case "loan"
       Call form1.Diy???? 不是这样吧,跟我上面的根本不一样
    end Select
    End Sub
      

  6.   

    我下面这样为何不为调到 frmLoan_100_Risk2的Form_Activate????????
      Set f = frmLoan_100_Risk2
        f.ContractNo = ContractNo
        f.ApplyId = ApplyId
        f.Refundtimes = Refundtimes
        f.RegDate = RegDate
        f.Show
        g_Wnd = f.hwnd
        SetParent g_Wnd, Me.Pic(8).hwnd
        Putfocus g_Wnd
        LockWindowUpdate 0
        f.Move 0, 0, Me.Pic(8).Width, Me.Pic(8).Height
        f.WindowState = 2
        Set f = Nothing