- ベストアンサー
form1のコマンドでform2を呼び出す方法を・・・
御教授してください。 現在、研修でVBの演習問題で社員名簿を作成してます。 詳細 1、form1に追加、更新、削除のコマンドボタンがあります。 2、その際に追加、更新をクリックするとform2の社員名やら、コード、TELL、住所の入力formが表示されます。3、追加、更新で1つのform(form2のことです)を共有?しているような状態で書かないといけない(追加、更新をクリックしても同じfrom2がでて異なる点はfrom2の一番下のコマンドボタンの追加と更新が変わります)これをVBでどのようにして記入すればよろしいでしょうか? form1→追加クリック→form2のコマンドボタンが追加表記になり、テキストに入力したものが追加できる。 form1→更新クリック→form2のコマンドボタンが更新表記になり、テキストに入力したものが更新できる *ここで更新と書きましたがSQLサーバーをつかってます。入力したものがサーバのDBに追加なり更新される状態です。 DB&VBの複合演習問題みたいな感じです。 宜しくお願いします。
- みんなの回答 (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)
- naganaga_001
- ベストアンサー率71% (172/242)
お世話になります。 使用されている 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
- hana-hana3
- ベストアンサー率31% (4940/15541)
UserForm2.CommandButton1.Caption = "更新" Caption の値(更新・追加)をチェックして処理を分けると良いかも知れません。
補足
すいません、古いタイプの6.0です。。。。6.0でも上記の方法で可能でしょうか?