Q20:アプリケーションを終了するときに追加した列を削除する処理を行っているのですが、追加列が無い場合エラーが発生します。削除処理を別にして実行してみたりするのですが、うまく行きません。
A20:
お送りいただいたアプリケーションでは、列数が5以上の場合にはインデックス6の列を削除するように設定されています。インデックスは0から始まるということにご注意ください。すなわち、列数が5の場合にはインデックスは0から4、列数が6の場合には0から5までとなります。
したがって、列数が6以下の場合にはインデックス6の列は存在しないため、列インデックスエラーが発生します。
お送りいただいたアプリケーションを拝見すると、元々の列数は、[<空白>]、[部品番号]、[部品名]、[機種名]、[必要数]、[在庫数]の6列のようですので、列数が7以上のとき(あるいは6を超えるとき)に、インデックス6の列を削除するように条件を修正すれば、追加列がない場合には削除処理が行われず、エラーも発生しません。
同様のエラーは、[全行削除]ボタンをクリックしたときにも発生しますが、原因は同じです。