初心者ながらVB.NETでDB関係のソフト制作に取り組んでいます。
mdbファイルをデータセットで追加・編集・削除などをしようとしていますが、おそらく単純なことにつまずいています。
コンボボックスにmdbファイルの1フィールド全データを表示させようとしていますがうまくいきません。本などを参考にプロパティーの「DataSource」=データセット名、「DisplayMember」=表示させたいフィールド名、「ValueMember」=同DisplayMemberを入力しても、コンボボックスは空白のままです。このプロパティー3つの設定でコンボボックスにデータを取り込めると本にはかいてあるのですが・・・もし急所などがございましたらご教授ください。
DataSet は DataTable を複数格納できる入れ物ですので
.DataSource に DataSet を指定した場合は .ValueMember
及び .DisplayMember にフィールド名だけを書いてもどの
テーブルか判別できないからエラーで連結できないと思いますが…。
初心者掲示板では『うまくいかない』とだけ書く方が多いのですが、
それでは全く状況を理解できません。エラーが出てるなら
どの行で出て、エラーメッセージが何か書いて下さい。『空白のまま』
という事はエラーにならないという事でしょうか?。その場合、
どんな設定してるのかこちらの想像だけでは無理です。こちら
ではエラーが出ましたので。具体的な記述をお願いします。
今回の場合、本で説明されているとの事ですから、説明されている
事が理解できず、重要な情報を読み飛ばしているだけでは?。
それならその本に書かれている内容のうち、自分が理解できない
部分、勝手に自分の解釈で本の記述から変更してしまった部分を
修正すればいいんじゃないですか?。その本に具体的な設定の
仕方は載ってなかったですか?。あれば書いてみて下さい。
.DataSource には DataTable を指定するか、DataSet を指定
するならテーブル名も含めて指定すればできると思います。
「特攻隊長まるるう」さま。ご意見ありがとうございます。
質問したいことの説明がうまくできなくて申し訳ありませんでした。
その後もいろいろとチャレンジしましたが、エラーにはならずコンボ
ボックスは空白のままでした。本の解説ではご指摘のように、複数の
テーブルを連結し、1テーブルから参照項目を取得して、コンボボックスで
選択したデータを、他のテーブルに反映させるように書いてあります。
今回私のしたかったことは、ただコンボボックスに出す項目を1テーブル
の1フィールドから取得したかっただけで、本の内容の機能の一部を
使えばできると、勝手に私が判断していたところがあります。
結果的に現在はうまくいきました。それはコードでDataSetから
フィールドのデータを全て取得し、Items.Addでコンボボックスへ
送りました。
dCnt = Me.BindingContext(DataSet11, "Data_db").Count 'レコード数取得
For i = 0 To (dCnt - 1)
Data(i) = DataSet11.Data_db(i)(1) '1レコード目データ取得
ComboBox1.Items.Add(Data(i)) 'コンボボックスへ
Next i
この度はありがとうございました。
この度はありがとうございました。
ツイート | ![]() |