○VB6・WinXP・Access2000
ほかの方の質問で「CSVをデータグリッド表示」というものがあったのですが私のほうは「mdbをデータグリッド表示」ということをしたいのです。
ローカルなデータを扱うのでDAOで行いたいのですがサンプルがなかなか見つからず(ADOでアクセスするのはあったのですが)コマってしまいました。
Accessのデータベースへの接続はできております。
そこからどうデータを取得してグリッドに表示すればいいのかがわかりません。csvファイルの場合は1行ずつLineInputで読み込んで配列方の変数にいれてデータグリッドに表示すればできますよね?
(カンマ区切りのデータだったらカンマ区切りを読み込む関数などで処理をして)
mdbファイルのデータを表示する場合も同じ考え方でいいのでしょうか?
ご教授よろしくお願いします。
説明を省略されると何を言ってるのか分かりません。
過去ログを参考にしたならアドレスを書き込んで下さい。
例えば
http://madia.world.coocan.jp/vb/vb_bbs/200310_03100142.html
では、最初DAOを使ってますが、
>k.k 2003/10/29(水) 20:12:14
のレスの内容を理解された後は、ADOを使われてます。
>csvファイルの場合は1行ずつLineInputで読み込んで配列方の変数にいれて
>データグリッドに表示すればできますよね?
配列?DataGrid に表示できるかどうかは知りませんが、配列に入れたいだけなら
DataGrid は無視して、DAO.RecordSet からデータが取れれば実現できます。
サンプルは『DAO.RecordSet』をキーワードに調べてください。
DataGridのことであれば、ADO専用なので、
残念ながらDAOは使えないです。
DAOでやるなら、
データコントロール+MSFlexGrid や
データコントロール+DBGrid
等で行います。
これらは、プロパティ設定だけで、DAOのコーディングなしでも表示ができますが、
以下の例は、意図的にDAOを使用しています。
--------以下、Form1.frm---------------(frm内に半角カナ有り 化けたら失礼)
VERSION 5.00
Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "MSFLXGRD.OCX"
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 2355
ClientLeft = 1800
ClientTop = 1530
ClientWidth = 5085
LinkTopic = "Form1"
ScaleHeight = 2355
ScaleWidth = 5085
Begin VB.Data Data1
Caption = "Data1"
Connect = "Access 2000;"
DatabaseName = ""
DefaultCursorType= 0 '既定値のカーソル
DefaultType = 2 'ODBC
Exclusive = 0 'False
Height = 585
Left = 30
Options = 0
ReadOnly = 0 'False
RecordsetType = 1 'ダイナセット
RecordSource = ""
Top = 1800
Width = 5025
End
Begin MSFlexGridLib.MSFlexGrid MSFlexGrid1
Bindings = "Form1.frx":0000
Height = 1725
Left = 0
TabIndex = 0
Top = 30
Width = 5055
_ExtentX = 8916
_ExtentY = 3043
_Version = 393216
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim ws As DAO.Workspace
Private Sub Form_Load()
Dim strSQL As String
strSQL = "SELECT * FROM 社員"
Set ws = DBEngine.Workspaces(0)
Set db = ws.OpenDatabase("C:\Program Files\Microsoft Office\Office\Samples\Northwind.mdb")
Set rs = db.OpenRecordset(strSQL)
Set Data1.Recordset = rs
End Sub
>特攻隊長まるるう様
こちらの言葉が足りず申し訳ありませんでした。
DAO.RecordSetで検索して勉強します。
>もげ様
データグリッドはADO専用なんですね。勉強不足でした。
サンプルのプログラム、ありがとうございます。
早速使わせていただきます。
お二方共本当にありがとうございました。
ツイート | ![]() |