アプリ版:「スタンプのみでお礼する」機能のリリースについて

ACCESSデータベースのメモ型フィールドの文字数制限について
VB6から、MDBメモ型フィールドにINSERT/UPDATEすると、1000バイトしか登録できません。
ACCESSのバージョンは、97です。
MDBを開いて、手で、メモ型フィールドを更新すると、1000バイト以上、登録できます。
10,000バイトほどのデータを登録したいのですが、どこを確認すればいいのでしょうか。
よろしくお願いします。

A 回答 (3件)

環境(Acc97)がないのではっきりわかりませんが、VB6からAcc2000にADOのConnection.executeでinsert文を実行したところ4000文字程度は問題なく登録できました。

(何バイトまで登録できるかは実験していません。)

そもそも、アクセスに10KBのデータを登録すること自体が間違っているような気がします。
(データ数が増えていくなら、ファイルの場所と必要であれば暗号キーなどだけをdbに入れておいて、他の方法で読み出すほうが安全だと思います。)
    • good
    • 0

#1 再回答します。



ヒントは・・・
「大きなバケツが使えないなら、コップで何回も水を汲む」(笑)

1Kのデータを登録できるなら、それを10個フィールド定義して、単に分割保存すれば良いのではありませんか?
単純なコード記述さえすれば、読み書き時に分割・統合できますよね。

今回はたまたま仕様が64,000文字ですけど、もしも仕様が1Kの場合や、質問者さんの環境の問題で最大が1kなんだったら、単に10個定義すれば済むと思います。

1レコードに定義するフィールドの合計サイズに制約があって、10個定義することが出来ないというのであれば仕方がありませんが、決してそうではないはずです。

御質問の原因が、
・VB6とAccess97間の問題なのか?
・Access97の「VBA」の問題なのか?
・質問者さんの「コードの記述」の問題なのか?
・PCに発生している別の理由による二次的な現象なのか?
・それ以外の問題なのか?
・・・回答側で予測できる原因範囲が膨大な上、質問者さんも情報提供するのは困難なはずです。

出来ない原因を探って解決することも大切ですが、それは「学習する」時に行う優先順位です。
(推測ですが)現在は学習目的ではなくて、「利用が目的」だと考えます。

優先順位のトップが「使うこと」なのであれば、出来ない方法にこだわらず、出来る手段でまずは使えるものを作ることが重要ではないでしょうか?
後から改善・修正することは容易ですしね。

単純で、ごく当たり前の発想から出たヒント(?)で恐縮ですが、原因を知ることが出来ない回答側の私から提供できる、「今のところそれしかない案(笑)」です。
    • good
    • 0
この回答へのお礼

わざわざ、確認テストまでしていただいたうえに、いろいろなヒントをいただきありがとうございます。
おっしゃるとおり、原因がよくわかりませんので、他の手段に変えて、対処することにします。
ありがとうございました。

お礼日時:2010/01/05 23:12

>どこを確認すればいいのでしょうか。


ネット検索をすれば、結構なんでもころがっているものですよ。 (笑)

「Access97 メモ型 最大」の3語で、グーグル検索した結果です。

>VB6から・・・・登録できません。
については、御自分で検索してお調べ下さい。

参考URL:http://support.microsoft.com/kb/824263/ja

この回答への補足

回答ありがとうございます。
>「Access97 メモ型 最大」の3語で、グーグル検索した結果です。

グーグル検索すると、64000文字まで可能とありますが、私の環境ですと、1000文字しか登録できません。
検索自体がうまくできてないかもしれませんが、1000文字以上登録できるようにするには、どうしたらいいかのヒントを教えていただけませんでしょうか。
よろしくお願いします。

補足日時:2010/01/04 21:52
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す