質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Q&A

解決済

3回答

13685閲覧

Accessのテキストボックスが入力できない時がある

oki-ki

総合スコア13

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

0グッド

0クリップ

投稿2018/12/18 01:15

Accessで短い文字でテキストボックスを作成し、一覧画面に追加したのですが、
このテキストボックスが入力出来ない時と出来る時があり原因がなにか解らずにいます。

最初にテキストボックスを追加した一覧画面を開くと入力できません。
(IMEオンオフ、キー入力、コピペもだめです。)
一度デザインビューに切り替えて、すぐにフォームビューに戻すと入力が可能になりDBにも保存されます。

テキストボックスのプロパティは特に変更しておらず「使用可能:はい」「編集ロック:いいえ」のままでです。

なぜこの様な現象がおこるのかお分かりになる方がいらっしゃったら教えてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yoorwm

2018/12/18 01:56

レコードが存在しない場合などにそうなった気がするので、そのフォームを作成した元のSQLを確認してみてください。
sazi

2018/12/18 02:29 編集

一覧なのでフォーム自体は連結フォームなのでしょうね。 ・追加したテキストボックスは連結ですか? ・他の項目は入力可能ですか? ・フォームの「データ入力用」「追加の許可」「削除の許可」「更新の許可」はどうなっていますか? ・フィルターは使用されていますか?
oki-ki

2018/12/18 06:53

yoorwm様 無知ですいません、フォームを作成した元のSQLとはどこを見ればわかるのでしょうか? フォームのプロパティなど見ましたが特にSQLなどは見当たりませんでした。 sazi様 ・テキストボックスは連結です。 ・他のテキストボックスも入力できませんでした。 (もともと使用可能:いいえ、編集ロック:はいになっていたものを  使用可能:はいにしても入力できません) ・フォームは以下のようになっています。  データ入力用:いいえ  追加の許可許可:いいえ  削除の許可:いいえ  更新の許可:はい ・フィルターは使用しています。 他のテキストボックスも入力出来なかったのは確認不足でした。 その当たりの設定が邪魔しているのでしょうか…
sazi

2018/12/18 07:06

そのフォームのレコードソースには設定がありますか。
guest

回答3

0

自己解決

先ほどコメントでも書きましたが遷移元画面のボタンのイベントで制御されていました。
ボタンクリック時のマクロビルダーを見たら、データモードが読み取り専用になっていました。
編集にしたら普通に編集可能となりました。

自フォームとテーブルを見ていて盲点だったのでやっと理解できてほっとしています。
皆様には色々アイディアをだして頂き、ご迷惑おかけしました&感謝しています。
ご協力ありがとうございました。

投稿2018/12/19 10:18

oki-ki

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hatena19

2018/12/19 11:25

コマンドボタンから開いていたのですね。もし、質問にそれがあったら、最初に疑ったのですが、盲点でした。
oki-ki

2018/12/20 09:29

こちらこそ、きちんとした質問ではなくて失礼しました。 でも大変勉強になりました。ありがとうございます。
guest

0

レコードソースの確認

フォームのデザインビューで、「レコードソース」プロパティがどうなっているか確認してください。
テーブル名かクエリ名かSQLが設定されているはずです。

テーブル名なら、そのテーブルを単独で開いて入力更新できるか確認してください。
クエリ名なら、そのクエリを単独で開いて入力更新できるか確認してください。

SQLなら、そのSQLをコピーして、クエリを新規作成してSQLビューにしてそこに貼り付けて、データシートビューにして入力更新できるか確認してください。

そこで入力できないなら、更新できないクエリになっているので、クエリ、またはもとになっているテーブルの設計を正しく設計しなおす必要があります。

クエリのSQLを回答に追記してください。また、クエリに含まれているテーブルの主キー設定を提示してください。

フォームの設定の確認

レコードソースで更新できるなら、フォームの設定に問題があると考えられます。

フォームプロパティのデータタブ

プロパティ設定値
レコードセットダイナセット
更新の許可はい

テキストボックスのプロパティのデータタブ

プロパティ設定値
コントロールソースフィールド名
入力規則
使用可能はい
編集ロックいいえ

上記のように設定されていことを確認してください。
設定されているのに、更新できない場合は、
フォームのプロパティのイベントタブのイベントに「マクロ」か[イベント プロシージャ]が設定されていないか、確認してください。
なければ、テキストボックスのイベントにも設定されていないか、確認してください。

設定されているならそれらの内容を回答に追記してください。

投稿2018/12/18 11:25

編集2018/12/19 02:15
hatena19

総合スコア33757

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

oki-ki

2018/12/19 00:49

レコードソースにはテーブル名が設定されています(リンクテーブル) 単独で開いて入力更新はできました。 本フォームは単純に1つのテーブルを参照しており 該当テーブルの主キーは設定されていませんでした。 テーブルの方に問題があったりするんですかね?
hatena19

2018/12/19 02:00

テーブルで入力更新できるなら、フォームの方の問題でしょう。 フォームの設定で確認すべきことを回答に追記しますので、確認ください。
guest

0

そのフォームのレコードソースに指定している内容をクエリーで開いて内容を更新してみて下さい。
更新されない(鉛筆マークが表示さずに、「このレコードは更新できません」というメッセージが表示)ようなら、更新できないクエリーを元にしているので更新できないという事になります。

更新可能な状態にするためには、先ず、レコードソースで指定してる内容が更新可能なものでなければなりません。

投稿2018/12/18 07:13

sazi

総合スコア25197

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

oki-ki

2018/12/19 00:27

クエリーで開いて内容を編集した所、更新できました。 レコードソースは複雑なSQLを組んでいるわけではなく、1つのテーブルのみ使用しています。 あと気になった点として参照しているテーブルはリンクテーブルでした。 ただ、リンク先のテーブルも特に更新制限かけているわけでもないのと、 同じようなリンクテーブルを利用した一覧フォームは普通に入力と編集ができ テーブルやフォームのプロパティを比較しても違いがあまり見られないのですが 該当画面の更新はできない…という状況になっています。
sazi

2018/12/19 00:37 編集

リレーションシップは設定されていますか? また、その画面で連結しているコントロールのコントロールソースで編集しているものは有りますか?
sazi

2018/12/19 00:41 編集

リンクテーブルに主キーが設定されていないと更新できなかったりするんですが、そのテーブル自体を開いて更新できるんですよね? リンク先のDBでの制約が邪魔しているかもしれませんが、特定のデータだけ更新できないという事ではないのですよね?
oki-ki

2018/12/19 07:06

色々ためして、ようやく入力ができるパターンを見つけたのですが、 異なる元画面のボタンによって同じ移動先の画面のフォームの入力を制御するなんて事できるのでしょうか? A画面 → ZZZ一覧(入力できない) B画面 → ZZZ一覧(入力できる) もしくはユーザー単位でアクセス制御ができるとか。 わかったようでわからない状態です。
sazi

2018/12/19 07:26

フォームは共通で、遷移元によってコントロールの状態に違いを出していたりすると、状態によって編集できないようになる可能性はありますよ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問