プロが教えるわが家の防犯対策術!

Access2000 XPです。
都道府県名が1レコードに1つずつ入っているテーブルと
各都道府県名のテーブルが47コあります。

新規でフォームを作成し(フォームのレコードソースはまだ未設定)
コンボボックスを1つ置いて、値集合ソースに都道府県テーブルを設定し
コンボボックスで選ばれた都道府県にフォームのレコードソースを変更しようと思っています。

Me.RecordSource=コンボボックス.text

単純にこれで良いと思うのですがエラー(入力された値は、フィールド又はコントロールで定義されている入力規則に従っていません)が出て全然更新されません。

どなたか分かる方、解決法をお願いします。。。

A 回答 (1件)

> Me.RecordSource=コンボボックス.text



コンボボックス名を「cbx01」と仮定した時、私はよく

Me.RecordSource = Me.cbx01

で設定しています。この書き方で、どうなりますか。


また、コンボボックスの値を換える前に編集状態になっていて、
設定した入力規則に違反している所があるとか、
Form_BeforeUpdate で Cancel = True で戻るタイミングあれば、
レコードソース変更時に何らかのエラーになったと思います。
(編集状態を完結するために)

強制的に回避するのであれば、編集破棄(Me.Undo)を直前でやってみるとか?

Me.Undo
Me.RecordSource = Me.cbx01

※ 常に破棄して良いのか、操作の流れを考慮してください。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
教えて頂いた
Me.RecordSource = Me.cbx01
Me.Undo
を試してみたりしましたが、変わらずでした。
入力規則は特に設定していないのですが…。
別フォームを設定するのは出来るようです。
開き済みのフォームは変更出来ないのかな?と思ったり。
(そんな、まさかねぇ・・・)
ありがとうございました。

お礼日時:2009/04/24 15:30

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