2007年08月20日
Accessで「行継続文字を使いすぎています」が・・・
Access 2007のVBA(Visual Basic for Applications)で作業を行っていたら、見慣れないエラーメッセージが表示されました。
表示されたメッセージは
行継続文字(_)を使いすぎています。です。
このエラーメッセージの詳細については下記を参照ください。
エラーメッセージが表示されたのはVBAでPublic関数の引数を書いている最中に出てきました。
引数は数多くの引数があったので見やすいように
ヘルプボタンが付いていたのでクリックしてみると
ここで言う「行継続文字」とはいわゆるアンダーバー(_)のことで、VB(A)ではアンダーバーを使用することによって複数行にわたって書くことができます。ズラズラと1行で書き続けると何が何だか分からなくなるため、プログラムを見やすくするためにアンダーバーを入れて改行させます。
しかし、このアンダーバーは24個までしか使用することが出ないらしく、それ以上のアンダーバーを使用すると上記のようなエラーメッセージが表示されるようです。
以前のバージョン(2007より前)では出たことがなかったので、2007からこのような仕様になったのでしょうか?
いずれにしてもアンダーバーに制限があるというのはいかがなものだろうか?少々使いにくくなってしまった。
引数は数多くの引数があったので見やすいように
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からこのような仕様になったのでしょうか?
いずれにしてもアンダーバーに制限があるというのはいかがなものだろうか?少々使いにくくなってしまった。
Category is MS Office.
<%PingExcerpt%>
<%PingBlogName%> at <%PingDateTime%>
でも、SQLとかはチョー長くなってしまうときありますよね。
CとかJavaとか他の言語は改行については規制がそんなないから便利だなぁ
今まで便利とも感じなかったですけど、そういったしばりがVBAにはあるのかと。
いつも人柱ありがとう!
コメントありがとうございます。
> 1関数で引数20以上って大杉じゃね?
確かに多すぎです。
仰るとおりSQLを生成する時は仕方ないかと思っています。
配列を使用すればスッキリするかもしれませんが
PHPのような連想配列が使えないVBでは
単純に引数を明記した方が後々わかりやすいので引数を羅列しています。
では、クラスを使用すれば・・・。
という考えもあるのですが、クラスを使用するほどでもないし・・・。