[リストへもどる]
一括表示

投稿時間:2002/11/01(Fri) 14:17
投稿者名:もも
URL :
タイトル:
データグリッドコントロールで表示したい
こんにちは。VB初心者です。
VB5とAccess2000で、データベースの勉強をしています。
次のようなプログラムを本で調べながら書いてみました。
Option Explicit
Dim Cn As New ADODB.Connection
Dim Rs As New ADODB.Recordset

Private Sub cmdExec_Click()

    Dim mySQL As String
    
    mySQL = "select * from 本"
    Set Rs = New ADODB.Recordset
    Rs.Open mySQL, Cn, adOpenStatic
    
    Set DataGrid1.DataSource = Rs  -----------(*)
    
End Sub

Private Sub Form_Load()
    
    '''''''''''''''''
    'データベース接続
    '''''''''''''''''
    Set Cn = New ADODB.Connection
    Cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db\Book.mdb"
    Cn.Open

End Sub

Private Sub Form_Unload(Cancel As Integer)
    Rs.Close
    Cn.Close
End Sub

ところが以下のようなエラーがでてしまいます。
≪実行時エラー430 クラスはオートメーションをサポートしていません。≫
デバッグしてみると(*)の部分で、
DataGrid1.DataSource=<オブジェクトが必要です。>
となっています。

以上が、行詰っているところです。
どうかご存知の方、教えてください。よろしくお願いします。

投稿時間:2002/11/01(Fri) 16:00
投稿者名:A221
Eメール:
URL :
タイトル:
Re: データグリッドコントロールで表示したい
> DataGrid1.DataSource=<オブジェクトが必要です。>

DataGridのDataGrid1をフォームに貼っていますよね?

#VB5はDataGridではなくDBgridだったような?
#すみませんうろ覚えです。

投稿時間:2002/11/01(Fri) 16:30
投稿者名:もも
URL :
タイトル:
Re^2: データグリッドコントロールで表示したい
早速書込みありがとうございます。
もう1度確認してみましたが、
フォームに貼っているのは、DBGridコントロールで、そのオブジェクト名がDataGrid1です。
また何かお気づきの点あればよろしくお願いします。


>
> DataGridのDataGrid1をフォームに貼っていますよね?
>
> #VB5はDataGridではなくDBgridだったような?
> #すみませんうろ覚えです。

投稿時間:2002/11/01(Fri) 16:06
投稿者名:タケシ
Eメール:
URL :
タイトル:
Re: データグリッドコントロールで表示したい
こんにちは!

オブジェクトをフォームに配置して
なかったからじゃないかなと思います.

「プロジェクト」→「コンポーネント(O)」から
「Microsoft DataGrid Control 6.0 (SP5)(OLEDB)」
にチェックし確定してください.
ツールボックスから「DataGrid」をフォームに配置してみてください.

自信はないですが一応やって見て下さい.

投稿時間:2002/11/01(Fri) 16:14
投稿者名:もも
URL :
タイトル:
Re^2: データグリッドコントロールで表示したい
早速メールありがとうございます。

今、VB5で開発しているため、コンポーネントは、Microsoft Data Bound Grid Controlにチェックがはいっています。

コンポーネント確認しましたが、Microsoft DataGrid Control 6.0 (SP5)(OLEDB)みあたりませんでした。

また何かお気づきの点あれば、よろしくお願いします。



> こんにちは!
>
> オブジェクトをフォームに配置して
> なかったからじゃないかなと思います.
>
> 「プロジェクト」→「コンポーネント(O)」から
> 「Microsoft DataGrid Control 6.0 (SP5)(OLEDB)」
> にチェックし確定してください.
> ツールボックスから「DataGrid」をフォームに配置してみてください.
>
> 自信はないですが一応やって見て下さい.

投稿時間:2002/11/01(Fri) 17:14
投稿者名:t@Ki
Eメール:
URL :
タイトル:
Re: データグリッドコントロールで表示したい
DataGridコントロールとDBGridコントロールは別のものなので、オブジェクト名がDataGrid1
というのはちょっと疑問なのですが、DataSourceプロパティは実行時に設定することは不可能です。

ヘルプ:
データベースに現在のコントロールを連結するために使用する、データ (Data) コントロールを設定します。
実行時には使えません。

ということでフォームにDataコントロールを貼り付けて、DataSourceプロパティにDataコントロールを指定しましょう。

投稿時間:2002/11/01(Fri) 17:27
投稿者名:もも
URL :
タイトル:
Re^2: データグリッドコントロールで表示したい
書込みありがとうございます。
アドヴァイスしていただいたこともやってみようと思います。
ちなみに、オブジェクト名は、VB6の参考書をそのまま使ってしまったので、紛らわしかったですね。

また何かお気づきの点ありましたら、よろしくお願いします。

> DataGridコントロールとDBGridコントロールは別のものなので、オブジェクト名がDataGrid1
> というのはちょっと疑問なのですが、DataSourceプロパティは実行時に設定することは不可能です。
>
> ヘルプ:
> データベースに現在のコントロールを連結するために使用する、データ (Data) コントロールを設定します。
> 実行時には使えません。
>
> ということでフォームにDataコントロールを貼り付けて、DataSourceプロパティにDataコントロールを指定しましょう。