• ベストアンサー

tableからlistboxにデータをならべるにはどうしたよよいのでしょう

VBを勉強しております。accessをデータベースにしてデータをlistboxに並べたいのですが、なんとかテーブルまではたどりついたのですが、listboxにならびません。WEBや書物を参考に listbox1.databindings.add("text",table,"○○")としてみたのですが だめでした。どのようにするとlistboxにデータがなるぶのでしょう。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.3

コマンドボタンでデータベースの接続をするのはどうかと思います Form_Loadイベントで データベースと接続してしまったほうがいいように思いますよ それでこのコードだとDataGridViewに表示させているんですよね それなら DataGridViewのCurrentCellプロパティを使ってどの行か特定できると思います CurrentCellからRowNumberやColumnNumberが拾えるので その相対値で URL列は判断できると思います sURL= DataGridView( CurrentCell.RowNumber, 1) 具合でしょう この方法以外に データグリッドビューの DataSourceプロパティのV印を押して 『プロジェクトデータソースの追加』から データセットなどを作成する方法もありますよ 先の回答で DataSourceにDataSetwo継承したオブジェクトと書きましたが間違ってますね 正解は DataBindingSourceを継承したオブジェクトになります

ityounomi
質問者

お礼

ありがとうございます。必死こいて、がんばります。datagridviewはテーブルに入ってきてたのかどうかを確認したくて入れたもので実際にはとるつもりでいます。 がんばってみます、ありがとうございました。

ityounomi
質問者

補足

ご教授ありがとうございました。何とか解決できました。本当にご迷惑をおかけいたしました。

その他の回答 (2)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

お使いの開発環境はなんですか? 我々はあなたのそばで見ているわけではないので何を使っておられるのかわかりませんよ まぁ databindingsとかおっしゃられているので VB.NETだろうということは推測できますが VB2005なのか VB.NET2003もしくは VB.NET2002などいろいろありますから データソースは DataSetまで作成したのでしょうか oleDBDataAdapter,oleDbdataConnection,DataSet を継承したオブジェクトがあると比較的簡単にご要望のことが出来ると思います ListboxのだたSourceに DataSetを継承したオブジェクトを設定し DisplayMemberに表示したい列名を選択 といった具合ですよ どのようなコードを書いて、データテーブルには何があるのかぐらい書きましょうね 行った結果と 希望する結果の差異がどうなのかも重要ですよ

ityounomi
質問者

お礼

申し訳ありませんでした。VB2005を使用しております。 以下のように記述しておりました。 Imports System.Data.OleDb Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\X1\My Documents\adres.mdb") Dim SQLCm As OleDbCommand = Cn.CreateCommand Dim Adapter As New OleDbDataAdapter(SQLCm) Dim Table As New DataTable SQLCm.CommandText = "SELECT * FROM インターネット" Adapter.Fill(Table) TextBox1.DataBindings.Add("text", Table, "WEB名") TextBox2.DataBindings.Add("text", Table, "URL") TextBox3.DataBindings.Add("text", Table, "その他") Try WebBrowser1.Url = New Uri(TextBox1.Text) Catch ex As Exception MessageBox.Show(ex.Message) End Try Dim i As Integer Dim Bind As BindingManagerBase = Me.BindingContext(Table) DataGridView1.DataSource = Table Bind.Position += 1 Table.Dispose() Adapter.Dispose() SQLCm.Dispose() Cn.Dispose() End Sub End Class

回答No.1

こんにちは リストボックスのプロパティの設定では駄目なのでしょうか ・値集合タイプ ・値集合ソース ・列数 ・列見出し ・連結列 このあたりを設定してみては? 外していたらゴメンナサイ

ityounomi
質問者

お礼

ご教授ありがとうございます。listbox のプロパティーでそれらしきところをいじりました。Datasourse,DisplayMember,ValueMember当たりかなと思い表示させたい項目にしましたが・・・。だめでした。すごく難しいですね。と、いいますか私が駆け出しの初心者なのですが。独学では無理なのでしょうかね。公式ページの説明は難しすぎて分からないし、書店にある本はチョー難しい本かまたは、さわりの部分しか書いていない本が多し、難しいですね。

関連するQ&A