

こんにちはtmgmです。
データグリッドが表示されません。
状況としては
1.プログラムは正常に動いています。(「接続に成功しました」メッセージ、「レコード取得に成功しました」メッセージ、ともに表示されます。)
2.しかしデータグリッドには何一つ表示されません。(ツールボックスから貼り付けたままの状態です)
3.参照設定はMicrosoft ActiveX Data Objects 2.5 Library、コンポーネントはMicrosoft DataGrid Control6.0(SP5)(OLEDB)です。
どなたかお分かりになる方いらっしゃいますでしょうか?非常に困っています。
ご返答よろしくお願いします。
------------------------------------------------
Dim CONN As ADODB.Connection
'レコードセットの宣言
Dim RECO As ADODB.Recordset
'接続の宣言
Set CONN = New ADODB.Connection
'接続のプロパティ
With CONN
.ConnectionString=
"provider=Microsoft.jet.oledb.4.0;" _
& "data source=C:\TESTMDB.mdb"
.Open
End With
MsgBox "データベース接続に成功しました"
'レコードセットのプロパティ
Set RECO = New Recordset
With RECO
.ActiveConnection = CONN
.Source = "SELECT ~(省略)"
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockOptimistic
.Properties("IRowsetIdentity") = True
.Open
End With
'レコードセットをデータグリッドに連結
Set D_GRID.DataSource = RECO
MsgBox "レコードセット取得に成功しました
------------------------------------------------

No.4ベストアンサー
- 回答日時:
#3の続き
SQL文のField名とグリッドのField名は一致していますか?括弧などあるとうまくいかない場合があります。
その場合は、SQL分でAS<別名>をつけグリットでも別名をfield名にするとうまきいきます。
これでだめならadodc経由でつないでみてはいかがでしょうか?

No.3
- 回答日時:
グリッドのデータソースを指定した後にグリッドの更新をしないと表示されません。
> 'レコードセットをデータグリッドに連結
>Set D_GRID.DataSource = RECO
この後に
D_GRID.Refresh
データコントロールを使用している場合には、
<データコントロール名>.Refresh
この回答への補足
ご回答ありがとうございます。
D_GRID.Refreshと記述してみたんですが、だめでした。データグリッドのCaptionプロパティとかはきちんと反映されるんですけどねぇ~
No.2
- 回答日時:
まず、SQLが正しいかどうか調べるためにDB上で実行してください。
もし、それでレコードが取得できたのならプログラムに問題があります。第二にADOコントロールで接続して表示できるか試してください。
残念ながらこのプログラムではメッセージボックスで文字が表示されたからと言って正常にレコードセットが取得できているとは確認できません。とれていなくてもでます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) QRコード作成マクロについて 3 2022/11/26 16:55
- Visual Basic(VBA) Excel VBA メール作成について 本文の中にExcel でコピーした図を上下に2つ 貼り付けを 2 2023/06/14 01:48
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- その他(プログラミング・Web制作) VBSでExcelファイル起動時、重複しても開くのを止めたい 1 2022/10/01 23:20
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックス(VBA)でEnter...
-
MSFlexGridとDataGridの違いに...
-
C# TEXTが空白であるLABELは何...
-
TableLayoutPanelでspan
-
エクセル VBA ユーザーフォーム...
-
ADOのCursorLocationプロパティ
-
MSFlexGrid
-
ユーザーフォームに日付を表示...
-
エクセルの画像にツールチップ...
-
ListViewでのリスト表示(初歩...
-
VB6でLabelの最前面にText Box...
-
中国文字のプログラムでの取り扱い
-
Wordテキストコントロールが未...
-
VBからエクセルのテキストボ...
-
VB.NET ToolTipの表示条件について
-
パソコンへの「Dropbox...
-
worksheetFunctionクラスのVloo...
-
VBA シートのボタン名を変更し...
-
【C#/Java?】try-catchでcatch...
-
[VBA] Classから他のClassを呼...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックス(VBA)でEnter...
-
Wordテキストコントロールが未...
-
エクセルの画像にツールチップ...
-
ユーザーフォームに日付を表示...
-
C# TEXTが空白であるLABELは何...
-
エクセル入力規制リスト行数
-
MSFlexGrid
-
コンボボックスの高さを変更し...
-
ACCESS2010 ActiveXコントロー...
-
Enabled=Falseのテキストボック...
-
VB6でLabelの最前面にText Box...
-
ADOのCursorLocationプロパティ
-
DataGridViewで行の展開みたい...
-
checkbox付きListViewで デフ...
-
VB2005 コードでのコントロー...
-
チェックボックスの文字色の変え方
-
VB6でPNGファイルを扱うには?
-
PictureBoxの背景色変更(VB.NET)
-
VB.NETで縦書表示をしたいので...
-
MFCでbitmapを背景にしてstatic...
おすすめ情報