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

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

新規登録して質問してみよう
ただいま回答率
85.48%
VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

VB.NET

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

Q&A

解決済

2回答

2202閲覧

VB データベース開発について

_LAGRANGE_

総合スコア44

VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

VB.NET

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

0グッド

0クリップ

投稿2016/04/14 09:12

こんばんは。

日付、一言というカラムを持つテーブルを持つデータベースを作ったので、それをVBのフォームで表示させようとしています。


日付ラベル: [コンボボックス]
一言ラベル: [コンボボックス]

というふうにデザインしたのですが、

上のコンボボックスから日付を選択すると、その日付に対応する一言が自動で下のコンボボックスに表示できるようにしたいです。

今、同じテーブルの日付データと一言データからドラッグしてデータバインドをしていますが、うまく対応した表示になってくれません。

そもそもコンボボックスのデータバインドの4項目の意味がよくわからず、最初は対応した表示をしてくれるのですが何回も選択していると勝手に中身が書き換えられたりしてなおせませんでした。

質問は、データバインドの問題なのかソースの問題なのかということですが、

もしデータバインドの問題でしたら、

・データソース
・表示メンバー
・値メンバー
・選択された値
をどのようにいじればお互いに対応するデータが表示できるのか教えてください(o_ _)o))

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

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

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

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

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

guest

回答2

0

ベストアンサー

上のコンボボックスから日付を選択すると、その日付に対応する一言が自動で下のコンボボックスに表示できるようにしたいです

なにも難しく考えなくても、思っている通りコードを書けばいいです

上のコンボボックスから日付を選択すると

→上のコンボボックス(仮にComboBox日付とでもしましょう)から日付を選択すると=選択されている値が変わったら

VB.Net

1Private Sub ComboBox日付_SelectedValueChanged(sender As Object, e As EventArgs) Handles ComboBox日付.SelectedValueChanged 2 3 'やりたいことを書く 4 5End Sub

その日付に対応する一言が自動で下のコンボボックスに表示

→その日付に対応する一言が自動で下のコンボボックス(仮にComboBox一言とでもしましょう)に表示

VB.Net

1'ComboBox日付で選択された値(日付)を取る 2Dim cb = DirectCast(sender, ComboBox) 3Dim 日付 = cb.SelectedItem 4 5'その値に対応する一言を取ってくる 6'→日付を元にDBに値を問い合わせる 7 8'問い合わせた結果(仮に一言とする)でComboBox一言の選択を変更する 9Dim 一言 = "踏み出せば、その一足が道となる。:アントニオ猪木" 10ComboBox一言.SelectedText = 一言

ComboBox一言の選択を変更する時に

  • SelectedIndex
  • SelectedItem
  • SelectedText
  • SelectedValue

のどれを使うのか?はComboBox一言の選択肢をどう設定したのかによります
例えば

  • ComboBox日付とComboBox一言に同じものをバインドしてる

のなら、

  • 選択値を変えた方のSelectedIndexを他方のSelectedIndexに設定する

と対応した値が表示されるはずといった具合です
※バインドしているコレクションの中で互いに値が連携しているはずなので

あと聞かれていたのは

  • データソース:ComboBoxにバインドして表示させる値の塊(なんらかのコレクションオブジェクト)
  • 表示メンバー:DataSourceで指定されたコレクションのどの値を表示に使うか(String値:例えばバインドしたのがDBならカラム名)
  • 値メンバー:DataSourceで指定されたコレクションのどの値を選択値とするか(String値:例えばバインドしたのがDBならカラム名)
  • 選択された値:ComboBoxで選択された(選択する)ValueMemberに含まれる値

ということなので、やりたいことに合わせて設定してください

まずコントロール(ここではComboBoxですが)がどういう機能を持っていて、どう書けばどう動くのかを考えるようにした方がいいです

投稿2016/04/14 19:12

編集2016/04/14 19:23
dojikko

総合スコア3939

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

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

dojikko

2016/04/14 19:25

ComboBox一言の選択を変更する時にと書きましたが、ComboBox日付の値を取る時も同じことです
guest

0

丸投げなので、以下を書いてみてください。

  • 作成したDBのスキーマ
  • 表示する部分のソース

ちなみにですが、もし僕ならば

id, datetime, comment

というスキーマ(DBの構造のことです) を作成し、datetime(日付)で検索します。

投稿2016/04/14 10:46

sokha

総合スコア216

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問