投稿者 VB初心者  (社会人) 投稿日時 2011/7/31 00:11:54
VB初心者です。よろしくお願いします。
visual basic2010expressにて作成してます
担当者の新規・更新のプログラムで テキストBOX(2)・LISTbox(1)・ボタンで構成されてます。
DBを読み込み LISTBOXに表示し
LISTBOXで セレクトされたものを テキストBOXに表示し 修正し
更新処理(DB更新・LISTBOX更新)をします。
新規の場合は テキストBOXに入力し 新規処理(DB追加・LISTBOX更新)をします。

DB更新迄はされるのですが リストボックスに反映されません。
再度 更新ボタンを押下すると 変更後の内容になります。
他で ListBox1.Requery() '再クエリーが必要と教えてもらい
挿入しましたが 'Requery'は system.windows.forms.listboxのメンバーではありません
と出てきてしまいます。 他の記述とかあるんでしょうか?教えてください。

初心者の為 コードが分かりにくいと思いますがよろしくお願いします。

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
'**********リストボックスセット**********
LISTBOX_SET()
End Sub 

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
'**********新規登録**********
'データベース接続用オブジェクト生成
Try
Dim CON As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\TEST.mdb")
'開始
CON.Open()
Dim selectcommand As String = "INSERT INTO tantousya (ta_no, ta_mei) VALUES ('{0}', '{1}' );"
Using cmb As OleDbCommand = New OleDbCommand( String.Format( selectcommand, TextBox1.Text, TextBox2.Text), CON)
cmb.ExecuteNonQuery()
End Using
'**********リストボックスセット**********
LISTBOX_SET()
End Try
End Sub

Private Sub Button4_Click(sender As System.Object, e As System.EventArgs) Handles Button4.Click
End
End Sub

Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
'**********変更登録**********
'データベース接続用オブジェクト生成
Try
Dim CON As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\TEST.mdb")
'開始
CON.Open()
Dim selectcommand As String = "UPDATE tantousya SET ta_mei = '{0}' WHERE ta_no = {1};"
Using cmb As OleDbCommand = New OleDbCommand( String.Format(selectcommand, TextBox2.Text, TextBox1.Text), CON)
cmb.ExecuteNonQuery()
End Using     
'**********リストボックスセット**********
LISTBOX_SET()
End Try
End Sub
Private Sub LISTBOX_SET()
'**********リストボックスセット**********
'接続文字列
Dim i As Integer
'データベース接続用オブジェクト生成
Dim con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\TEST.mdb")
Try
'開始
con.Open()
Dim SQLCom As OleDbCommand = con.CreateCommand
Dim selectcommand As String = "SELECT * FROM tantousya;"
Dim da As OleDbDataAdapter = New OleDbDataAdapter(selectcommand, con)
Dim ds As DataSet = New DataSet()
'データーセット()
da.Fill(ds)
Dim LIST As List(Of String) = New List(Of String)
      For i = 0 To ds.Tables(0).Rows.Count - 1
     LIST.Add(ds.Tables(0).Rows(i)("ta_no") & ds.Tables(0).Rows(i)("ta_mei")
Next
ListBox1.DataSource = LIST ・・・・・・・・・<ここのLISTの内容は変更になってます>・・・
Finally
'データベース終了
con.Close()
End Try
End Sub
Private Sub ListBox1_MouseDown(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseDown

TextBox1.Text = MID(ListBox1.SelectedItem,1,2)
    TextBox2.Text = MID(ListBox1.SelectedItem,3,10)
End Sub