質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Visual Basic .NET

Microsoft Visual Basic .NET (VB.NET)とはオブジェクト志向のプログラム言語です。 Microsoft"s Visual Basic 6 のバージョンアップとしてみることができますが、Microsoft.NET Frameworktによって動かされています。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Visual Studio 2012

Microsoft Visual Studio 2012は、Microsoftによる統合開発環境(IDE)であり、多種多様なプログラミング言語に対応しています。 Visual Studio 2010の次のバージョンです

.NET Framework 4.0

Microsoft Windows用のソフトウェア開発環境/実行環境である .NET Frameworkの4番目のメジャーバージョンです。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

2回答

7178閲覧

Accessに接続し、テーブルの内容をコンボボックスに表示する方法について

churi_yuzuki

総合スコア32

Visual Basic .NET

Microsoft Visual Basic .NET (VB.NET)とはオブジェクト志向のプログラム言語です。 Microsoft"s Visual Basic 6 のバージョンアップとしてみることができますが、Microsoft.NET Frameworktによって動かされています。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Visual Studio 2012

Microsoft Visual Studio 2012は、Microsoftによる統合開発環境(IDE)であり、多種多様なプログラミング言語に対応しています。 Visual Studio 2010の次のバージョンです

.NET Framework 4.0

Microsoft Windows用のソフトウェア開発環境/実行環境である .NET Frameworkの4番目のメジャーバージョンです。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2016/10/26 04:32

イメージ説明

上図の様なフォームを作成し、上部のコンボボックスに、Accessからテーブルの内容を取得し、”コードID”-”コード名”として表示させたいと考えています。
また、下の「リスト表示」ボタンを押すとコンボボックスの内容がリストボックスで表示されるようにもしたいと思っております。

テーブルの内容は、
![イメージ説明
のような感じです。

そこで、自分なりに調べてみて、下記のコードを書いてみました。

AccessのDBに接続するモジュールを作成しようとしているのですが、
DBへの接続した後、テーブル内容を取得し、配列に格納する処理が、調べても良く分かりませんでした。

Module Module1 '設定 Private Prvd As String = "Microsoft.Jet.OLEDB.4.0" 'プロバイダ Private fol_name As String = "C:\test" 'DBが入っているフォルダ Private db_name As String = "test.mdb" 'DBファイル名 Sub DBread(ByVal table_name As String) '接続文字列 Dim Cn_txt As String = "Provider=" & Prvd & "; Data Source=" & fol_name & "\" & db_name 'SQL文 Dim SQL_txt As String = "SELECT * FROM " & table_name 'データアダプターを生成 Dim Adapter As New System.Data.OleDb.OleDbDataAdapter(SQL_txt, Cn_txt) 'データの読み込み Dim Table1 As New DataTable() Adapter.Fill(Table1) End Sub End Module

追加しなければならない部分を教えて頂きたいです、よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Adapter.Fill(Table1)の下に
comboBox1.DataSource = Table1

'表示される値 comboBox1.displayMember = "コードID" & "コード名" '実際に選択される値 comboBox1.ValueMember = "コードID"

こんな感じでどうでしょう?

投稿2016/10/26 06:05

MP430

総合スコア40

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

churi_yuzuki

2016/10/26 08:48

出来ませんでした... これはどういった動きをしているんですかね?
MP430

2016/10/27 04:50

comboBox1は実際のオブジェクトの名前を設定していますか? コンボボックスのプロパティを確認してください。 コンボボックスにデータテーブル(SELECT文を実行後のTable1)を紐づけして、 コンボボックスに表示するフィールドを設定、 コンボボックスが選択した項目を値として取り込むフィールドの設定です。
churi_yuzuki

2016/10/31 02:34

遅くなりました。無事に解決致しました。 ありがとうございました!
guest

0

下記サイトを参考にされるとやりたいことの幅が広がると思います。
C#ですが.NETベースの言語ですのでVBと、さほど変わりません。

参考サイト

投稿2016/10/26 05:05

MP430

総合スコア40

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

churi_yuzuki

2016/10/26 05:46

参考リンクありがとうございます。 DB接続周りは実装出来そうなのですが、取得したデータを配列に格納すると言う初歩的なところでつまずいています...
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問