- PR -

コンボボックスの内容を2つのフィールドで表示させたい

1
投稿者投稿内容
ume
会議室デビュー日: 2007/04/21
投稿数: 1
投稿日時: 2007-04-21 21:50
はじめまして。
初歩的な質問で申し訳ないです。

VB2005、SQLServer2005でWindowsアプリケーションを作成しています。

社員マスタに社員IDと社員名がありまして、
コンボボックスの項目に「社員ID+社員名」を表示させたいのです。
TableAdapterの構成ウィザードにて

SELECT 社員ID, 社員名, 社員ID + 社員名 AS 表示名
FROM 社員マスタ

として、
フォームデザインのコンボボックスのプロパティにて、

DataSource:社員マスタのBindingSource
DisplayMember:表示名
ValueMember:社員ID
SelectedValue:更新先テーブルのBindingSource - 更新先フィールド

を設定してみました。

ところが実行してみると、コンボボックスの内容が真っ白で表示されてしまいます。
値は取得できているみたいで、更新するときちんとIDが登録されています。
そもそもデータテーブルに実テーブルに存在しないフィールドをもたせること自体が
無理なのでしょうか?

どなたか方法をご存知の方がおられましたらご教授ください。
かめたろ
ぬし
会議室デビュー日: 2003/03/20
投稿数: 255
投稿日時: 2007-04-23 10:33
引用:

SELECT 社員ID, 社員名, 社員ID + 社員名 AS 表示名
FROM 社員マスタ


まず、このクエリをManagementStudioかなんかで実行してみて、その結果の「表示名」列がNULLではないことを確認してみてはいかがでしょうか。

引用:

ところが実行してみると、コンボボックスの内容が真っ白で表示されてしまいます。
値は取得できているみたいで、更新するときちんとIDが登録されています。


この状況から想像すると、「社員名」列の値がNULLなんじゃないかなぁ・・・。
「社員ID」が数値型か文字型かわかりませんが、NULLと足し算しても結果はNULLですし、NULLと文字列の結合をしても結果はNULLですよね。
1

スキルアップ/キャリアアップ(JOB@IT)