データベース(MDBファイル)関連:COUNT関数でレコード数を取得

VB2008でAccessのMDBファイルのレコード数を取得する実行例サンプルです。

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



レコード数を求めるには、SQL関数のCOUNTを使用し、レコードセットを開きます。
Readメソッドでレコードがあればを読みます。

■実行手順
1) OleDbConnection.ConnectionString プロパティにデータベースを開くために使用する文字列を設定します。
2) OleDbConnection.CreateCommand メソッドでOleDbConnection に関連付けられているOleDbCommandオブジェクトを作成し、返します。
3) OleDbCommand.CommandText プロパティにデータソースで実行する SQL ステートメントを設定します。
4) OleDbConnection.Open メソッドでConnectionStringで指定したプロパティ設定を使用して、データベース接続を開きます。
5) OleDbCommand.ExecuteReader メソッドでCommandTextをConnectionに送信し、OleDbDataReaderを構築します。
6) OleDbDataReader.Read メソッドでOleDbDataReader を次のレコードに進め、レコード数を読みます。
7) OleDbConnection.Close メソッドでデータ ソースへの接続を閉じます。
8) OleDbCommand.Dispose メソッドでComponent によって使用されているすべてのリソースを解放します。
9) Component.Dispose メソッドでComponent によって使用されているリソースを解放します。

■ 実行画面
 「レコード数の取得」ボタンをクリックすると、レコード数をテキストボックスに表示します。
レコード数を求め、結果を表示するフォーム

■ 実行コード

Public Class Form1


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim cn As New System.Data.OleDb.OleDbConnection
Dim SQL As System.Data.OleDb.OleDbCommand
Dim sfina As String = "C:\sample1.mdb"
Dim dr As System.Data.OleDb.OleDbDataReader
Dim s As String
Dim lmax As Long

'MDBファイルを開く
s = "Provider=""Microsoft.Jet.OLEDB.4.0"";"
s &= "Data Source=""" & sfina & """;"
cn.ConnectionString = s

SQL = cn.CreateCommand
SQL.CommandText = "SELECT COUNT(*) FROM table1"
cn.Open()

dr = SQL.ExecuteReader()
If dr.Read = True Then
'レコード数
lmax = dr(0)
Else
'登録レコードなし
lmax = 0
End If

TextBox1.Text = lmax

cn.Close()
SQL.Dispose()
cn.Dispose()

End Sub
End Class


Visual Basic 2008 Express Edition実践入門