tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Structureを可変な配列で使用したいです。
投稿日: 2007/06/09(Sat) 15:23
投稿者もねを
こんにちは。Structureを可変の配列のように使用したいと考えています。

今、このようなコードを書いています。

  'モジュールに記述しています。
  '見積登録内の明細部分の構造体
  Public Structure strMeisai
    Public Naiyo As String
    Public Syohin As String
    Public Suryo As String
    Public TaniName As String
    Public TaniCode As String
    Public Tanka As String
    Public Kingaku As String
    Public Tax As String
    Public Biko As String
  End Structure

 'ここから先はForm側に書いています。
  Private TIndex As Integer = 20 '←固定で20を書いてみた
  Private Meisai(0 To TIndex) As strMeisai

  Private Sub clearAll()
    '構造体を初期化する
    For i = 0 To TIndex
      Meisai(i).Naiyo = ""
      Meisai(i).Syohin = ""
      Meisai(i).Suryo = ""
      Meisai(i).TaniName = ""
      Meisai(i).TaniCode = ""
      Meisai(i).Tanka = ""
      Meisai(i).Kingaku = ""
      Meisai(i).Tax = ""
      Meisai(i).Biko = ""
    Next
  End Sub

この場合はOKです。配列も20個作られます。

しかし、
  Private TIndex As Integer = 20
  Private Meisai(0 To TIndex) As strMeisai
ここで記述した20は、可変となるため変わってきます。
そのため、以下のように変更しました。

  Private TIndex As Integer = int見積行数 '←ここを変更
  Private Meisai(0 To TIndex) As strMeisai

  Private Sub clearAll()

'〜マスタからデータを取得する〜 中略

   int見積行数 = SQLReader("見積行数")

  '〜中略

    '構造体を初期化する
    For i = 0 To TIndex
      Meisai(i).Naiyo = ""
      Meisai(i).Syohin = ""
      Meisai(i).Suryo = ""
      Meisai(i).TaniName = ""
      Meisai(i).TaniCode = ""
      Meisai(i).Tanka = ""
      Meisai(i).Kingaku = ""
      Meisai(i).Tax = ""
      Meisai(i).Biko = ""
    Next
  End Sub

これで実行するとIndexのエラーが出ます。

エラー番号:9
インデックス範囲の境界外です。

このように可変で行いたいのですが可能でしょうか?
よきアドバイスお願いいたします。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。