
Kappo
データベースの情報を表示させる時どうしようかなぁ~ってありませんか?
Excelに転記するなどの方法があるとおもいますが、vb上で処理を完結したい場合はちぃ~っと面倒ですよね!
そこで、フォーム上に表形式に表現できる「DataGreidView」を使うってのはどうですか?
この部屋では、「DataGreidView」の簡単な使い方を案内してます
参考にしてくださいね!!!結構便利ですよ!
また、一番したの方にコメント欄があるからよかったら質問・感想などメッセージ入れてください
データベースを準備する
まず、表示させたい情報をデータベース-テーブル作成をします
データベースをしては簡単なAccessで紹介しますね
・データベース名=Sample.accdb
・テーブル名=tblSample1

※サンプルデータを上図の様に入れておきます
フォームの作成
DataGreidViewを配置したフォームを作成します





データベース情報を読み込んで「DataGreidView」に挿入するプログラム
Button1コントロールのプログラム
データベース(Sample.accdb)を開いて1レコードづつをDataGredViewに追加する
▼プログラム▼
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'------------------------------
Dim i As Long
Dim cnn As ADODB.Connection 'コネクション用の変数
Dim rec As ADODB.Recordset 'レコードセット用の変数
Dim mySQL As String = "" 'SQL文用の変数
Dim mdbPath As String = "" 'MDBファイルのフルパス用の変数
mdbPath = "C:\Sample\DB" & "\" & "Sample.accdb" 'MDBのフルパス
'------------------------------
cnn = New ADODB.Connection 'コネクションの宣言
'MDB接続宣言:Accessファイル(2007~)を開く
cnn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.16.0;Data Source=" & mdbPath & ";"
cnn.Open() 'MDBにコネクションする
'------------------------------
rec = New ADODB.Recordset 'レコードセットの宣言
'------------------------------
mySQL = "SELECT * FROM tblSample1;" 'MDBを開くためのSQL文=tblSample1の全てが対象
'読み取り専用でMDBを開く
Call rec.Open(mySQL, cnn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly)
If rec.RecordCount <> 0 Then 'データがあることを確認(エラーを防ぐためのおまじないです
rec.MoveFirst() 'レコードを先頭にする(おまじない)
'レコード分を繰り返す
For i = 1 To rec.RecordCount
'DataGridViewにレコードの情報を展開する
DataGridView1.Rows.Add(rec("DATA1").Value, rec("DATA2").Value, rec("DATA3").Value,
rec("DATA4").Value, rec("DATA5").Value)
rec.MoveNext() 'レコードを次に進める
Next i
End If
rec.Close() 'MDBを閉じる
'------------------------------
'後片付け:絶対的なおまじないっす
rec = Nothing '変数の解放
cnn.Close() '接続を閉じる
cnn = Nothing '変数の解放
'------------------------------
'------------------------------
End Sub
プログラムの実行
フォームのButton1を押したら、下図のようにデータベースの1行目から情報を取得してDataGredViewにデータが表示されました


Amazon | 本, ファッション, 家電から食品まで | アマゾン
Amazon.co.jp 公式サイト。アマゾンで本, 日用品, ファッション, 食品, ベビー用品, カー用品ほか一億種の商品をいつでもお安く。通常配送無料(一部を除く)
コメント