Microsoft Access ClubAccessフォーラムの過去ログIndexページAccess超初心者対象ForumAccess初級者対象ForumAccess初・中級者対象ForumAccess VBA Tips ForumDAO、ADO、SQL Forum

     

No1816.レコードソースに記述する文字の制限

タイトルレコードソースに記述する文字の制限
記事No: 1816
投稿日: 2005/04/14(Thu) 21:10
投稿者: 3b
OS:XP
Access Version:2000

SQLビューでいくつかのフィールドを追加し、設定したところ、エラーが起きました。
ただ、2つか3つフィールドを削除してみると、エラーは起きませんでした。
2つ、3つさらに加えるとFORM句のエラーとなってしまいます。

レコードソースに記述するSQL文って、記述できる文字の制限ってあるでしょうか?
60〜70のフィールドを加えたいんですが、レコードソースに記述できる文字の制限を
なしにする方法ってあるでしょうか?

タイトル投稿先を間違えてしまった。
記事No: 1817
投稿日: 2005/04/14(Thu) 21:31
投稿者: 3b
どうしましょう。
このメッセージって、DAOとはまったく関係ありませんでした。

タイトルRe: レコードソースに記述する文字の制限
記事No: 1818
投稿日: 2005/04/14(Thu) 22:54
投稿者: 銀の匙
> SQLビューでいくつかのフィールドを追加し、設定したところ、エラーが起きました。
> ただ、2つか3つフィールドを削除してみると、エラーは起きませんでした。
> 2つ、3つさらに加えるとFORM句のエラーとなってしまいます。
多分記述を間違えているだけじゃないですか?
テキストエディタで編集してから、貼り付けする方がやり易いと思います。

>
> レコードソースに記述するSQL文って、記述できる文字の制限ってあるでしょうか?
> 60〜70のフィールドを加えたいんですが、レコードソースに記述できる文字の制限を
> なしにする方法ってあるでしょうか?
SQL文として文字列サイズの制限はありますが、それ以前にフィールド数255の制限の方が先ではないでしょうか?
制限なしにはできません。

> どうしましょう。
> このメッセージって、DAOとはまったく関係ありませんでした。
気にしなくて良いと思いますけど。

タイトルRe: レコードソースに記述する文字の制限
記事No: 1819
投稿日: 2005/04/14(Thu) 23:26
投稿者: TWEST
> レコードソースに記述するSQL文って、記述できる文字の制限ってあるでしょうか?

クエリの制限:
リレーションシップの設定数    1 つのテーブルにつき、32 からリレーションシップに
                 含まれないフィールドまたはフィールドの組み合わせに
                 対して設定されたインデックス数を引いた数

クエリのテーブル数        32

レコードセットのフィールド数   255

レコードセットのサイズ      1 GB

並べ替えの制限          1 つまたは複数のフィールド内では 255 文字

ネストしているクエリのレベルの数 50

パラメータクエリのパラメータの
            文字数   255

WHERE句またはHAVING句内の
          ANDの個数   99

SQLステートメント内の文字数    約 64,000

ヘルプには無いけど
IIf関数のネスト 15?

タイトルRe^2: レコードソースに記述する文字の制限
記事No: 1820
投稿日: 2005/04/15(Fri) 00:11
投稿者: 3b
銀の匙さん、TWESTさん、本当にありがとうございます。

SQLビューで設定したレコードソースの内容をメモ帳に貼り付けたところ、2行半です。

(しかも、1行はメモ帳の一番最後のところまでコピーしています。自動的に改行)
↑途中で改行したのでは?と聞かれそうなので、とりあえず書きました。

メモ帳の2行半といったら、レコードソースでは制限を越えてエラーになるんでしょうか。
Accessとまったく関係ない話でもうしわけなく思います。

銀の匙さんのコメントで気になったんですが、
記述のエラーかと思いましたが、テキストで見たところエラーらしきことはないですし、
フィールドを1つ2つ加えたらエラーが起きてて、逆に減らしたら問題はないという感じです。

それでレコードソースに記述できる文字の制限ってあるかないか知りたいだけじゃなく、
その制限を無効にする方法ってないかなって思い、質問したわけです。

タイトルRe^3: レコードソースに記述する文字の制限
記事No: 1821
投稿日: 2005/04/15(Fri) 02:09
投稿者: 銀の匙
> SQLビューで設定したレコードソースの内容をメモ帳に貼り付けたところ、2行半です。
それぐらいじゃ文字数の制限は越えてないですね。
取り敢えずエラーになるもの、ならないものをそれぞれ投稿してみては。
※投稿時には強制改行するなりしてください。

タイトルRe^4: レコードソースに記述する文字の制限
記事No: 1825
投稿日: 2005/04/15(Fri) 20:54
投稿者: 3b
銀の匙さん、TWEST様、

ご返信、本当に有難う御座います。

TWESTさん、
下記のとおり、SQL文を示しましたが、Accessの名前付け規則違反とかあるでしょうか?
長さはこれくらいです。


SELECT Holiday.No_連休, q_Address.No_Post, q_Address.No_execu, q_Address.No_User, q_Address.ユーザID, q_Address.勤務先,
q_Address.所属, q_Address.姓, q_Address.名, q_Address.電話番号, Holiday.[01], Holiday.連休対象,
Schedule.Data01, Schedule.Data02, Schedule.Data03, Schedule.Data04, Schedule.Data05, Schedule.Data06, Schedule.Data07, Schedule.Data08, Schedule.Data09, Schedule.Data10, Schedule.Data11, Schedule.Data12, Schedule.Data13, Color.ColorData, Color_1.ColorData, Color_2.ColorData, Color_3.ColorData, Color_4.ColorData, Color_5.ColorData, Color_6.ColorData, Color_7.ColorData, Color_8.ColorData, Color_9.ColorData, Color_10.ColorData, Color_11.ColorData, Color_12.ColorData, Schedule.TelNo01
FROM Holiday INNER JOIN (q_Address INNER JOIN (((((((((((((Schedule LEFT JOIN Color ON Schedule.Code01 = Color.ColorCode) LEFT JOIN Color AS Color_1 ON Schedule.Code02 = Color_1.ColorCode) LEFT JOIN Color AS Color_2 ON Schedule.Code03 = Color_2.ColorCode) LEFT JOIN Color AS Color_3 ON Schedule.Code04 = Color_3.ColorCode) LEFT JOIN Color AS Color_4 ON Schedule.Code05 = Color_4.ColorCode) LEFT JOIN Color AS Color_5 ON Schedule.Code06 = Color_5.ColorCode) LEFT JOIN Color AS Color_6 ON Schedule.Code07 = Color_6.ColorCode) LEFT JOIN Color AS Color_7 ON Schedule.Code08 = Color_7.ColorCode) LEFT JOIN Color AS Color_8 ON Schedule.Code09 = Color_8.ColorCode) LEFT JOIN Color AS Color_9 ON Schedule.Code10 = Color_9.ColorCode) LEFT JOIN Color AS Color_10 ON Schedule.Code11 = Color_10.ColorCode) LEFT JOIN Color AS Color_11 ON Schedule.Code12 = Color_11.ColorCode) LEFT JOIN Color AS Color_12 ON Schedule.Code13 = Color_12.ColorCode) ON q_Address.No_User = Schedule.No_User) ON Holiday.No_連休 = Schedule.No_連休;

銀の匙さん、1つフィールドはどんなフィールドとか関係なく、1つ減らしてみたらエラーは起きず、
何か任意のフィールドを増やそうとしたら、エラーが起きるって感じです。

タイトルRe^5: レコードソースに記述する文字の制限
記事No: 1826
投稿日: 2005/04/16(Sat) 09:29
投稿者: Benkei
テストDB作って再現しようとしても、そのエラーは再現できませんでした。
なんでやろ?

http://www.usiwakamaru.or.jp/~katoh-t/DB/1816.lzh
これのどこを どういじれば そのエラーが出るんでしょ?

タイトルRe^6: レコードソースに記述する文字の制限
記事No: 1837
投稿日: 2005/04/17(Sun) 00:24
投稿者: 3b
http://www.accessclub.jp/fileup/ss1_board/index.html

サンプルファイルのUploaderに入れました。

Form のスケジュール画面を開いてください。
フォームプロパティのレコードソースにフォーカスを置いたら、右に、…の部分がありますよね?
そこをクリックしてください。(ここの場合はエラーが起きません)

そこにフィールドをさらに追加してください。
Holiday.日01、Holiday.日02、・・・、Holiday.日13を追加するとします。
日01〜日07まで追加するとエラーは起きないが、日08を加えるとエラーが起きてしまいます。

タイトルRe^7: レコードソースに記述する文字の制限
記事No: 1838
投稿日: 2005/04/17(Sun) 00:45
投稿者: 銀の匙
> 日01〜日07まで追加するとエラーは起きないが、日08を加えるとエラーが起きてしまいます。
日13まで追加しましたが、特にエラーは起きませんね。
レコードソースに指定している内容をクエリとして保存してみて下さい。
保存したクエリで実行してもエラーになるか確認してみて下さい。

[次頁]

 

ページの先頭へ 前ページへ戻る