プロが教える店舗&オフィスのセキュリティ対策術

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

form1→追加クリック→form2のコマンドボタンが追加表記になり、テキストに入力したものが追加できる。
form1→更新クリック→form2のコマンドボタンが更新表記になり、テキストに入力したものが更新できる
*ここで更新と書きましたがSQLサーバーをつかってます。入力したものがサーバのDBに追加なり更新される状態です。
DB&VBの複合演習問題みたいな感じです。
宜しくお願いします。

A 回答 (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
    • good
    • 0

お世話になります。



使用されている 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

この回答への補足

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

補足日時:2006/04/25 14:40
    • good
    • 0

UserForm2.CommandButton1.Caption = "更新"



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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!