本ブログは2009年4月21日で終了しました。
今後はアイビースターでブログを運営していますので
そちらをご覧ください。
Posted by Hibi at 15:00
Accessで「行継続文字を使いすぎています」が・・・

Access 2007のVBA(Visual Basic for Applications)で作業を行っていたら、見慣れないエラーメッセージが表示されました。

表示されたメッセージは
行継続文字(_)を使いすぎています。
です。

このエラーメッセージの詳細については下記を参照ください。
エラーメッセージが表示されたのはVBAでPublic関数の引数を書いている最中に出てきました。

引数は数多くの引数があったので見やすいように
Public Function Kansuu(strA AS String, _
strB AS String, _
strC AS String, _
   :
   :
strZ AS String)
と書こうとしていたら途中で
行継続文字(_)を使いすぎています。
のメッセージ。

ヘルプボタンが付いていたのでクリックしてみると
行継続文字 ( _) を使いすぎています。

行継続文字で結合できる行数は限られています。エラーの原因と対処方法を次に示します。
  • 行継続文字で継続されている行が、25 行を超えているか、または 1 つの論理行に 24 を超える行継続文字があります。
    いくつかの行を物理的に長くして必要な行継続文字数を減らすか、複数のステートメントに分割します。


詳細については、目的の項目を選択して F1 キー (Windows) または Help キー (Macintosh) を押してください。
とのこと。

ここで言う「行継続文字」とはいわゆるアンダーバー(_)のことで、VB(A)ではアンダーバーを使用することによって複数行にわたって書くことができます。ズラズラと1行で書き続けると何が何だか分からなくなるため、プログラムを見やすくするためにアンダーバーを入れて改行させます。

しかし、このアンダーバーは24個までしか使用することが出ないらしく、それ以上のアンダーバーを使用すると上記のようなエラーメッセージが表示されるようです。

以前のバージョン(2007より前)では出たことがなかったので、2007からこのような仕様になったのでしょうか?

いずれにしてもアンダーバーに制限があるというのはいかがなものだろうか?少々使いにくくなってしまった。


同じカテゴリー(MS Office)の記事
 
Category is MS Office.
<%PingExcerpt%>
<%PingBlogName%> at <%PingDateTime%>
1関数で引数20以上って大杉じゃね?(^^;
でも、SQLとかはチョー長くなってしまうときありますよね。

CとかJavaとか他の言語は改行については規制がそんなないから便利だなぁ
今まで便利とも感じなかったですけど、そういったしばりがVBAにはあるのかと。
いつも人柱ありがとう!
Posted by オカモト at 2007年08月21日 08:43
オカモトさん

コメントありがとうございます。

> 1関数で引数20以上って大杉じゃね?

確かに多すぎです。
仰るとおりSQLを生成する時は仕方ないかと思っています。
配列を使用すればスッキリするかもしれませんが
PHPのような連想配列が使えないVBでは
単純に引数を明記した方が後々わかりやすいので引数を羅列しています。

では、クラスを使用すれば・・・。
という考えもあるのですが、クラスを使用するほどでもないし・・・。
Posted by Hibi at 2007年08月21日 08:56
削除
Accessで「行継続文字を使いすぎています」が・・・