タイトル | : 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 インデックス範囲の境界外です。
このように可変で行いたいのですが可能でしょうか? よきアドバイスお願いいたします。
|