- 締切済み
フォームのプロパティを設定したい(Access2000)
Access2000 XPです。 都道府県名が1レコードに1つずつ入っているテーブルと 各都道府県名のテーブルが47コあります。 新規でフォームを作成し(フォームのレコードソースはまだ未設定) コンボボックスを1つ置いて、値集合ソースに都道府県テーブルを設定し コンボボックスで選ばれた都道府県にフォームのレコードソースを変更しようと思っています。 Me.RecordSource=コンボボックス.text 単純にこれで良いと思うのですがエラー(入力された値は、フィールド又はコントロールで定義されている入力規則に従っていません)が出て全然更新されません。 どなたか分かる方、解決法をお願いします。。。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- 30246kiku
- ベストアンサー率73% (370/504)
回答No.1
> Me.RecordSource=コンボボックス.text コンボボックス名を「cbx01」と仮定した時、私はよく Me.RecordSource = Me.cbx01 で設定しています。この書き方で、どうなりますか。 また、コンボボックスの値を換える前に編集状態になっていて、 設定した入力規則に違反している所があるとか、 Form_BeforeUpdate で Cancel = True で戻るタイミングあれば、 レコードソース変更時に何らかのエラーになったと思います。 (編集状態を完結するために) 強制的に回避するのであれば、編集破棄(Me.Undo)を直前でやってみるとか? Me.Undo Me.RecordSource = Me.cbx01 ※ 常に破棄して良いのか、操作の流れを考慮してください。
お礼
回答ありがとうございます。 教えて頂いた Me.RecordSource = Me.cbx01 Me.Undo を試してみたりしましたが、変わらずでした。 入力規則は特に設定していないのですが…。 別フォームを設定するのは出来るようです。 開き済みのフォームは変更出来ないのかな?と思ったり。 (そんな、まさかねぇ・・・) ありがとうございました。