- 締切済み
VBからのDAOでメモ型へのアクセス
Access2000でメモ型を含むテーブルを作成し、VBからアクセスします。 テーブルへの書込みはサイズに関係なく(257バイト以上も)問題なく出来ます。257バイト以上の文字列を書き込んだ後Accessで直接テーブルの内容を確認すると、正常に書き込まれています。 が、257バイト以上の文字列の読み込みを行うと255バイトで切れてしまいます。 テキスト型は255バイトまでで、メモ型は65534バイトまでと思っていたのですが違いますか? 違っているとしたら、60000バイトは必要ありませんが1000文字(2000バイト)くらいは使いたいと思っていますので、フィールドの型と、VBからのアクセスの方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- ARC
- ベストアンサー率46% (643/1383)
ん~、何でしょうねぇ。 手元の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)
ひょっとしてVBの側で定義されている変数の型等に問題はありませんか? …自信はありませんが^^;
補足
OpenRecordset を実行した直後に Recordset の中身を直接確認した結果です。VB側の定義は関係ありません。