
タイトルの「オブジェクト参照がオブジェクト インスタンスに設定されていません」についてですが、
このエラーは、
null を参照しようとして例外が発生している
エラーだと解釈しているのですが、nullでないのに、このエラーが出る場合はどのように対処すればいいのか教えてください。
下記のような文があるとします。
Dim aaa as String
'aaaは、データベースからデータをとってきています。
If aaa IsNot DBNull.Value Then
DropDownList.SelectedItem.Text = aaa.TrimEnd 'ここでエラー
End If
aaaは、NullではないのでIf文の中に入っていくのですが、DropDownListにデータを入れようとすると、タイトルのようなエラーが発生します。
デバッグでaaaの値を見ても、ちゃんとデータが入っているし、Nullではないのですが、なぜこのようなエラーが出るのかわかりません。
このエラーは他に違う意味があるのでしょうか?
また、他に影響している部分があるのでしょうか?
どなたか教えてください。
よろしくお願いいたします。
No.6ベストアンサー
- 回答日時:
SelectedIndexは何番目の行かということを示すので、数値でなければ
なりません。Items(i).Text=aaaになるiを見つけて設定します。
FindByTextかFindByValueで検索したListItemを使って、IndexOfで
インデックスを求める方法がスマートでしょうか。
http://msdn.microsoft.com/ja-jp/library/system.w …
http://msdn.microsoft.com/ja-jp/library/system.w …
http://msdn.microsoft.com/ja-jp/library/system.w …
>表示するデータと値のデータを別々に設定
Text(表示するデータ)とValue(値のデータ)を仕込んだListItemを
Add(場合によってはInsert)メソッドで追加(挿入)します
http://msdn.microsoft.com/ja-jp/library/system.w …
http://msdn.microsoft.com/ja-jp/library/system.w …
http://msdn.microsoft.com/ja-jp/library/system.w …
nda23さん
ご丁寧に何度もありがとうございました!
なんとかできそうです!
またわからなくなったら投稿させて頂きます!!
そのときはぜひよろしくお願い致します。
ありがとうございました♪
No.5
- 回答日時:
既に中身が仕込まれているDropDownListに対し、値を使って
該当する行を選択させる場合はSelectedValueじゃないですか?
あるいはSelectedIndexでは?
http://msdn.microsoft.com/ja-jp/library/system.w …
http://msdn.microsoft.com/ja-jp/library/system.w …
この回答への補足
すみません、書き忘れました。
SelectedIndexもSelectedValueもリストで選択された項目の・・・とありますが、最初から選択された状態ではなく、カレンダーで選択した日付からデーターベースを検索し、その日付にあったデータをDropDownListに表示すると言うことをしたいのです。
また、同じDropDownListで、あらかじめデータベースと結合していて、データを埋め込んであり、カレンダーから日付を選択しなくても、データベースと結合したデータの選択もできるようにしたいです。
nda23さん
ありがとうございます。
SelectedValueは通ったのですが、SelectedIndexにしますと、integerしかダメと言われて、止まってしまいました。
DropDownListは、表示するデータと値のデータを別々に設定しないといけないんですよね?
表示するデータと値のデータともテキスト型のデータを入れたいのですが、この場合はどうやってやればいいのでしょうか?
よろしくお願いいたします。
No.4
- 回答日時:
No3です。
× drop1.Add("aaa");
○ drop1.Items.Add("aaa");
です。すいません。
ちなみに、開発環境がVisualStudioであれば、
「SelectedItem」や「Item」のところでF1キーを押すとヘルプが見れます。
参照してみてください。
Pakkun10さん
ありがとうございます。
DropDownListはあらかじめ、データベースと結びつけて、データを埋め込んでいます。
最初にページを表示したときに、カレンダーで日付を選択して、ボタンを押したら、その選択した日付に基づいて、データベースからの値をDropDownListで選択した状態にすると言うことをしたいのです。
提示しましたプログラムはその途中部分です。
ですので、DropDownListに追加という形ではなく、選択した状態にしたいのです。
何か他にお気づきでしたら教えてください。
よろしくお願いいたします。
No.3
- 回答日時:
ドロップダウンリストにデータを追加するには
(名前がdrop1になってるとすると)
drop1.Add("aaa");
ではないでしょうか?
SelectedItemは閲覧専用のプロパティですので、設定は出来ません。
それと、
DropDownList.SelectedItem.Text ・・・
と書いてありますが、「DropDownList」は画面に表示してる
DropDownListを指してますか?
上の例のように、「drop1」という名前のDropDownListに追加することは出来ますが、
DropDownListそのものに追加することはできません。
No.2
- 回答日時:
例えば、型Aの変数X,Y,Zを考えましょう。
これらの変数は型が同じなので、メンバ変数やメソッドは共通です。しかし、独立した
変数なので、内部で保持している各種の値はそれぞれ別です。
こういった場合、変数それぞれの実体をインスタンスと言います。
変数を定義しただけでは実体がないので、画面のフィールドと結び
付けたり、新しい実体を生成して使います。これがインスタンス化
と呼ばれる操作です。
staticとは静的に固定されたもので、インスタンス化しなくても
最初からプログラム内に実在します。例えば、文字列定数などが
それにあたります。その代わり、全体で1個しか実体がないので、
どのスレッドから参照しても同じ物を扱うため、勝手に変更すると
他のスレッドの動作がおかしくなったりします。
変数aaaは「データベースからデータをとってきています」なので、
その操作によりインスタンス化された(あるいは他のインスタンス
からコピーされた)のですが、DropDownListの方はどうなっている
いるのでしょう?こっちがエラーになっている気がします。
インスタンス依存のメソッドは勿論、インスタンス化されていないと
実行できないため、変数を操作する場合は自身のインスタンスに
関連付けられているので、掲題のような問題は起き難いのですが、
staticなメソッドはインスタンス化しなくても実行できるので、
(何でできるかは分かりますよね)インスタンス化されていない
オブジェクトを参照する危険があります。
nda23さん
ありがとうございます。
DropDownListはあらかじめ、データベースと結びつけて、データを埋め込んでいます。
最初にページを表示したときに、カレンダーで日付を選択して、ボタンを押したら、その選択した日付に基づいて、データベースからの値をDropDownListで選択した状態にすると言うことをしたいのです。
提示しましたプログラムはその途中部分です。
DropDownListの設定の仕方?が悪いのでしょうか?
お気づきの点がありましたら教えてください。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
- Visual Basic(VBA) エクセルのマクロとシートの保護について教えてください。 1 2022/10/18 08:36
- Windows 10 IT初心者です! powershellで以下のようなエラーが出ました オブジェクト参照がオブジェクト 1 2023/05/17 11:30
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Visual Basic(VBA) 配列にしたセル範囲でのコメントがあるかどうかを取得するコードの書き方 2 2022/09/17 05:09
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
- Visual Basic(VBA) エラーコード1004 6 2022/06/09 14:12
- Excel(エクセル) R列の1111/11/11以外、且つQ列の×の条件で該当行のAからAE列までオレンジに塗りつぶす 2 2022/07/02 10:18
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
このQ&Aを見た人はこんなQ&Aも見ています
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
「オブジェクト参照がオブジェクト インスタンスに設定されていません」というポップアップが消えません
Windows Vista・XP
-
「タイプ初期化子が例外をスローしました」エラー何?
Visual Basic(VBA)
-
-
4
String"から型'Double'への変換は無効です。 とエラーが出ます。
Visual Basic(VBA)
-
5
変数の参照でエラーが出てしまいます。(VB.NET)
Visual Basic(VBA)
-
6
VB.NET getとsetの概念がわかりません。
Visual Basic(VBA)
-
7
asp.NET初心者です。「 ’Context’は’○○○’のメンバで
Microsoft ASP
-
8
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
-
9
C#「オブジェクト参照が必要です」(初心者)
その他(プログラミング・Web制作)
-
10
値を返さないコード パス
Visual Basic(VBA)
-
11
Visual Basic.NETのエラー(オブジェクト参照がオブジェクト インスタンスに設定されていません。")について"
Visual Basic(VBA)
-
12
VB6.0の「vbFromUnicode」はVB.NETではどれに相当しますか?
Visual Basic(VBA)
-
13
Statement ignored というエラー
Oracle
-
14
”オブジェクト参照がオブジェクト インスタンスに設定されていません。”って
Visual Basic(VBA)
-
15
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
16
CloseとDisposeの違い
Visual Basic(VBA)
-
17
SQLのエラー(~付近に不適切な構文があります)
SQL Server
-
18
IT初心者です! powershellで以下のようなエラーが出ました オブジェクト参照がオブジェクト
Windows 10
-
19
「指定されたキャストは有効ではありません。」とエラーが出てしまいます。
Microsoft ASP
-
20
Form1上にあるTextBox1を Module1.vbから参照したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
private static という変数の修飾
-
複数の変数を宣言する時、同時...
-
変数名の付け方
-
非staticフィールドを参照でき...
-
インスタンス参照でアクセスで...
-
生成したインスタンスを削除す...
-
インスタンスを同じ名前で作成...
-
オブジェクト参照がオブジェク...
-
C# インスタンスの破棄
-
VB.NET getとsetの概念がわかり...
-
変数の参照でエラーが出てしま...
-
C#において、同じインスタンス...
-
javaのクラスの作り方、エラー...
-
サーブレットでレスポンスが返...
-
VB.NET Newしたものを変数に代...
-
VB6からのExcel起動について
-
メソッドの引数としてのthisの意味
-
VB.NET Form1からForm2を開い...
-
「インスタンス」の意味をわか...
-
SetWindowsHookExで質問
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
private static という変数の修飾
-
変数名の付け方
-
複数の変数を宣言する時、同時...
-
インスタンス参照でアクセスで...
-
C# インスタンスの破棄
-
C#において、同じインスタンス...
-
オブジェクト参照がオブジェク...
-
生成したインスタンスを削除す...
-
VB.NET getとsetの概念がわかり...
-
javaのクラスの作り方、エラー...
-
変数の参照でエラーが出てしま...
-
「インスタンス」の意味をわか...
-
インスタンスを同じ名前で作成...
-
newしないインスタンス?実体化...
-
フォームの存在をチェックする方法
-
String a = "a"; と String b =...
-
C#のメモリ解放についてご教授...
-
vb.netでFAXを送信する方法
-
他のファイルの変数参照
-
Delphiでインスタンスが作成さ...
おすすめ情報