| タイトル | : Structureを可変な配列で使用したいです。 |  
| 記事No | : 5622 |  
| 投稿日 | : 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 インデックス範囲の境界外です。
  このように可変で行いたいのですが可能でしょうか? よきアドバイスお願いいたします。 
 
 |