データベース(MDBファイル)関連:DataGridViewのカーソル位置のデータを取得する

VB2008でMDBファイルを表示させた表形式フォームのカーソル位置のデータを取得する実行例サンプルです。

データベース(MDBファイル)関連へ



「カーソル位置のデータを取得」ボタンをクリックすると、DataGridViewのレコード数を調査します。
レコードがないとメッセージを表示し終了します。

カーソル位置のデータを取得するには、CurrentRow.Cells(フィールド名).Value とします。

CurrentRowプロパティは、現在のセルを格納している行を取得します。
Cellsは、指定した位置にある項目を取得または設定します。

■ 実行画面
 カーソル位置のデータを取得し、全列のデータをテキストボックスに表示しています。
データグリッドビューのデータを取得

■ 実行コード

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim CnString As String
Dim UserID As String = "Admin"
Dim Password As String = ""
Dim SQL As String
Dim sfina As String = "C:\sample1.mdb"
Dim DaAdap As OleDb.OleDbDataAdapter
Dim Tbl As New DataTable()
Dim Bds As New BindingSource

CnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sfina & ";"
CnString = CnString & "User ID=" & UserID & ";"
CnString = CnString & "Jet OLEDB:Database Password=" & Password

'全フィールドの表示
SQL = "SELECT * FROM table1"

'データアダプターの作成
DaAdap = New System.Data.OleDb.OleDbDataAdapter(SQL, CnString)

'データを読む
DaAdap.Fill(Tbl)

'データグリッドに表示
Bds.DataSource = Tbl
DataGridView1.DataSource = Bds

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim s1 As String

TextBox1.Text = ""

If DataGridView1.Rows.Count = 0 Then
MsgBox("データがありません。")
Exit Sub
End If

'カーソル位置のデータを取得
s1 = "ID: " & DataGridView1.CurrentRow.Cells("ID").Value & vbNewLine
s1 = s1 & "Field1: " & DataGridView1.CurrentRow.Cells("Field1").Value & vbNewLine
s1 = s1 & "Field2: " & DataGridView1.CurrentRow.Cells("Field2").Value & vbNewLine
s1 = s1 & "Field3: " & DataGridView1.CurrentRow.Cells("Field3").Value & vbNewLine

'テキストボックスに表示
TextBox1.Text = s1
End Sub
End Class


Visual Basic 2008 Express Edition実践入門