これ何て呼びますか

MSDEを使用してAccessのrecordsetにADOrecordsetを使用してフォームに配置したチェックボックスを編集した場合エラーになる

A 回答 (3件)

外していたらすみません。



>OpenメソッドでADOのRecordsetを取得した後そのフォームのRecordsetプロパティにSetし

の部分は、例えば
Set rst = New ADODB.Recordset
rst.Open "テーブル名", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Set Forms("フォーム名").Recordset = rst
(または、そのフォーム内ならSet Me.Recordset = rst)

というような意味でしょうか?(個人的にはRecordsetプロパティにSetというのはやったことがありませんが・・・OpenしたテーブルをそのフォームのレコードソースにSetすることはよくやりますけど・・・)また

>そのフォームからチェックボックスの値を変更するとエラーになります。
>ご指摘のように実態のあるオブジェクトをフォームのレコードソースにするとなりません。

なんらテーブルなどに連結していないフォームにチェックボックスを作成していた場合でも、フォームに作成したチェックボックスが”チェック0”だとして、そのフォームで処理を行うとして、
Me.チェック0 = False
Me.Requery
とか
Me.チェック0 = True
Me.Requery
とかを処理に記述しても問題なくデータは変わります。

いったいどのようなエラーか教えていただけませんか?

この回答への補足

OSがXPならマイクロソフトに報告するか否かのダイアログが上がりアクセスが終了します。MEならチェックボックスを2回クリックすると値が変わります。ただテクストボックスなら0・-1でもfalse・trueどちらも利用できます。

補足日時:2002/08/10 18:54
    • good
    • 0

例えば、bit形式のフィールドのあるテーブルを元に表形式のフォームを作成し、


チェックボックスコントロールをそのフォームに作成して、そのチェックボックスコントロールにチェックを入れたり、解除したりしても何らエラーが出ることはないはずですが、どのようなエラーが出るか補足願えませんか?

No.1の方へ
mdbではなくてMSDE(Accessプロジェクト)の場合、テーブルのデザインでデータ型を選択する際は、ON/OFFのデータは、Yes/No型でなくてbit型になりますので、補足させていただきます。(知っていたらごめんなさい。一応気になったもので・・・)

この回答への補足

OpenメソッドでADOのRecordsetを取得した後そのフォームのRecordsetプロパティにSetしそのフォームからチェックボックスの値を変更すとエラーになります。ご指摘のように実態のあるオブジェクトをフォームのレコードソースにするとなりません。

補足日時:2002/08/07 13:22
    • good
    • 0

こんにちは。

maruru01です。

Bit型とは?
数値型のByte型のことですか。
それなら、Byte型は0~255の整数値であるのに対して、チェックボックスの値はTrue(0)とFalse(-1)ですからダメでしょう。
チェックボックス使うのならYes/No型じゃないですか。
    • good
    • 0

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

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


おすすめ情報