• 締切済み

VBからのDAOでメモ型へのアクセス

Access2000でメモ型を含むテーブルを作成し、VBからアクセスします。 テーブルへの書込みはサイズに関係なく(257バイト以上も)問題なく出来ます。257バイト以上の文字列を書き込んだ後Accessで直接テーブルの内容を確認すると、正常に書き込まれています。 が、257バイト以上の文字列の読み込みを行うと255バイトで切れてしまいます。 テキスト型は255バイトまでで、メモ型は65534バイトまでと思っていたのですが違いますか? 違っているとしたら、60000バイトは必要ありませんが1000文字(2000バイト)くらいは使いたいと思っていますので、フィールドの型と、VBからのアクセスの方法を教えてください。

みんなの回答

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.2

ん~、何でしょうねぇ。 手元のVB5 + DAO3.6 + Access2000の環境では正しく取得できてるんですが… 一旦単純にメモ型フィールドを読み取るだけの、最小限のプロジェクトを新規で作ってみたら、どこに問題があるのかが見えてくるかもしれませんね。 ちなみに、Access2000のメモ型は、最大2Gバイトだったはずです。 以下、テストに使用したソースです。 Private Sub Command1_Click()  Dim db As DAO.Database  Dim RST As DAO.Recordset  Dim memo As String    Set db = DAO.OpenDatabase("db5.mdb")  Set RST = db.OpenRecordset("MEMO", dbOpenDynaset)  RST.MoveFirst  memo = RST.Fields![memo]  Debug.Print memo End Sub

  • chupark
  • ベストアンサー率41% (90/218)
回答No.1

 ひょっとしてVBの側で定義されている変数の型等に問題はありませんか?  …自信はありませんが^^;  

bighorn
質問者

補足

OpenRecordset を実行した直後に Recordset の中身を直接確認した結果です。VB側の定義は関係ありません。

関連するQ&A