• ベストアンサー

form1のコマンドでform2を呼び出す方法を・・・

御教授してください。 現在、研修でVBの演習問題で社員名簿を作成してます。 詳細 1、form1に追加、更新、削除のコマンドボタンがあります。  2、その際に追加、更新をクリックするとform2の社員名やら、コード、TELL、住所の入力formが表示されます。3、追加、更新で1つのform(form2のことです)を共有?しているような状態で書かないといけない(追加、更新をクリックしても同じfrom2がでて異なる点はfrom2の一番下のコマンドボタンの追加と更新が変わります)これをVBでどのようにして記入すればよろしいでしょうか? form1→追加クリック→form2のコマンドボタンが追加表記になり、テキストに入力したものが追加できる。 form1→更新クリック→form2のコマンドボタンが更新表記になり、テキストに入力したものが更新できる *ここで更新と書きましたがSQLサーバーをつかってます。入力したものがサーバのDBに追加なり更新される状態です。 DB&VBの複合演習問題みたいな感じです。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

お世話になります。 VB6.0 なら、こんな感じでしょうか。 ''' Form1 Private Sub Command1_Click()   Dim f2 As Form2   Set f2 = New Form2      Call f2.SetUpdateMode(True) '更新モードで呼び出し   Call f2.SetDisplayData("0001")   Call f2.Show(vbModal)      Set f2 = Nothing End Sub ''' Form2 Private m_IsUpdate As Boolean Public Sub SetUpdateMode(ByVal IsUpdate As Boolean)   m_IsUpdate = IsUpdate   If IsUpdate Then     Me.Command1.Caption = "更新"   Else     Me.Command1.Caption = "新規"   End If End Sub Public Sub SetDisplayData(ByVal id As String)   Me.Text1.Text = id   If m_IsUpdate Then     '更新時処理   Else     '新規時処理   End If End Sub Private Sub Command1_Click()   If m_IsUpdate Then     '更新時処理   Else     '新規時処理   End If End Sub

その他の回答 (2)

回答No.2

お世話になります。 使用されている VB のバージョンはどちらでしょう。 もし .NET であれば、 Form2 に 新規用モードにするメソッドと 更新用モードにするメソッドを用意してやってはどうでしょう。 Private m_IsUpdate As Boolean ''' 更新用 Public Sub ShowForUpdate(ByVal id As Integer)   Me.m_IsUpdate = True   Me.TextBox1.Text = id.ToString()   Me.Button1.Text = "更新" End Sub ''' 新規用 Public Sub ShowForInsert(ByVal id As Integer)   Me.m_IsUpdate = False   Me.TextBox1.Text = id.ToString()   Me.Button1.Text = "新規" End Sub Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click   If Me.m_IsUpdate Then     '更新処理   Else     '新規処理   End If End Sub

nozda
質問者

補足

すいません、古いタイプの6.0です。。。。6.0でも上記の方法で可能でしょうか?

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

UserForm2.CommandButton1.Caption = "更新" Caption の値(更新・追加)をチェックして処理を分けると良いかも知れません。

関連するQ&A

専門家に質問してみよう