掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
配列の長さが変わる場合の長さの指定の仕方は? (ID:144577)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
配列の使い方がよく分かっていませんので教えてください。 テーブルの内容を変更するプログラムをVB.NETで作っています。 下記のようなテーブルがあったとき、 ・テーブル No 営業所 品物 ------------------------- 1 AAAAA aiu 2 AAAAA eo 3 BBBBB kaki 4 AAAAA kuke 5 CCCCC kosa 6 AAAAA sisu 営業所=AAAA を選択したときは下記が選択されますが ・表示 No 営業所 品物 ------------------------- 1 AAAAA aiu 2 AAAAA eo 4 AAAAA kuke 6 AAAAA sisu この時表示だけ、Noを1から順に割り振ります。 (下記のようにしたい) No 営業所 品物 ------------------------- 1 AAAAA aiu 2 AAAAA eo 3 AAAAA kuke 4 AAAAA sisu ここで、表示上の3番目を修正したい時に、 「No.3 営業所:AAAA⇒BBBB、品物:kuke⇒mume」と表示させ、 実際には、テーブルの4番を修正したいと考えています。 (表示にはFlexGridを使用します。) Dim cn As New OleDb.OleDbConnection Dim cmd As New OleDb.OleDbCommand Dim rs As OleDb.OleDbDataReader Dim strSQL As String = "" Dim k As Integer = 0 Dim intNo() as Integer cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strMDBPath cn.Open() cmd = cn.CreateCommand() cmd.CommandText = "SELECT [No],営業所,品物 FROM テーブル WHERE 営業所=AAAA" rs = cmd.ExecuteReader() If rs.HasRows = True Then Do While (rs.Read()) intNo(k) = rs.GetValue(0) Dim strBuf As String = "" For i As Integer = 1 To rs.FieldCount - 1 strBuf = k + 1 & vbTab & rs.GetValue(i) Next FGrid1.AddItem(strBuf) k += 1 Loop rs.Close() End If 配列に取得したテーブルのNoを代入して、 テーブルの修正を行う時、メッセージには表示上のNoを、 実際には、テーブルのNoを指定して修正を行いたいのです。 上記ですと、「オブジェクト参照がオブジェクトインスタンスに設定されていません」 とエラーになります。 Dim intNo() as Integer 上記で配列の長さを「100」とすると表示ができるのですが、 検索するたびに配列の長さが変わる場合は、どうすればよいでしょうか。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.