

こんにちは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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
DataGridViewで指定したセルの値を取得
Visual Basic(VBA)
-
VB.NETでコンボボックスの1行目を空白にしたい
Visual Basic(VBA)
-
<VB.NET>INSERT文でDBにデータを入れたい
Visual Basic(VBA)
-
4
DataGridViewで変更した値を反映させたい。
Visual Basic(VBA)
-
5
CloseとDisposeの違い
Visual Basic(VBA)
-
6
DataGridViewに複数テーブルのデータをセットしたい
Visual Basic(VBA)
-
7
VB.NETのDataGridで、選択行の特定の列の内容を取得したい
Visual Basic(VBA)
-
8
他のformのコントロールの値の取得の仕方
Visual Basic(VBA)
-
9
DataGridViewのチェックボックスのON、OFFの判定方法
C言語・C++・C#
-
10
VB.NET DataGridView 縦スクロールバーを常に表示
Visual Basic(VBA)
-
11
DataGridView からの値取得に関して
Visual Basic(VBA)
-
12
VB.NETでのイベントの途中終了
Visual Basic(VBA)
-
13
VB.NETでフォーム上にExcelのような表を表示する方法
Visual Basic(VBA)
-
14
DataGridViewの、選択されている行を取り出したい
Visual Basic(VBA)
-
15
DataGridViewでセルクリックイベントを発生させるには
Visual Basic(VBA)
-
16
String"から型'Double'への変換は無効です。 とエラーが出ます。
Visual Basic(VBA)
-
17
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
18
VB6 DBと連結しないDataGrid
Visual Basic(VBA)
-
19
【VB】コンボボックスにデータベースから取り出した値を入れたい
Visual Basic(VBA)
-
20
DataGridViewに空白がある場合はエラーにしたい
Visual Basic(VBA)
関連するQ&A
- 1 【VB】データグリッドコントロールにデータベースを表示させたい
- 2 VBのデータグリッドの表示が消えてしまいました。何故でしょうか?
- 3 VB2005でデータグリッドビューにTextBoxのセルとComboBoxのセルを表示
- 4 【VB】データグリッドに読み込んだテーブルの変更を元のデータベースに反映させたい
- 5 VB2005 でtxtデータをデータグリッドビューに読み込む
- 6 データグリッドコントロールに表示されません!
- 7 VB2005のデータグリッドビューとデータテーブルについて
- 8 VB2005 データグリッドについての質問です。
- 9 VBのデータグリッドビューで分析
- 10 データグリッドで複数のセルを選択するには(言語はVB6)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
VB.NETで縦書表示をしたいので...
-
5
VBからエクセルのテキストボ...
-
6
C# アプリ終了時に設定を記憶...
-
7
PictureBoxの背景色変更(VB.NET)
-
8
エクセル入力規制リスト行数
-
9
VBのデータグリッドが表示され...
-
10
Wordテキストコントロールが未...
-
11
DataGridViewで行の展開みたい...
-
12
VC++のコンボボックスの各項目...
-
13
コンボボックスのセンタリング
-
14
エクセルの画像にツールチップ...
-
15
ADOのCursorLocationプロパティ
-
16
ACCESS2010 ActiveXコントロー...
-
17
ASP.NETでのテキストボックスに...
-
18
コンボボックスの高さを変更し...
-
19
Enabled=Falseのテキストボック...
-
20
VB.NET ToolTipの表示条件について
おすすめ情報