こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Accessのフォームとテーブルについて教えてください。

Access2003を使用しています。
既存のフォームAにフィールド3個を増やしました。
フォームAはテーブル(1)と連動していました。
追加したフィールドはテーブル(6)のものです。
ところがフォーム上で追加フィールドに入力が出来なくなりました。3フィールドのうち、ひとつはコンボボックスです。表示はされますが確定ができません。
フォームAのSQLステートメントではテーブル(1)・(6)以外にテーブル(2)・(3)・(4)・(5)が結合されています。
フォームAからするとテーブル(2)・(3)・(4)・(5)のデータはIDの名称を見るための参照用です。
テーブル(6)は、追加フィールドのコンボボックスが参照用で、他の2追加フィールドは、フォームから入力してテーブル(6)に反映させたいものです。
テーブル(6)の画面では入力できます。
フォーム上からは入力できません。
設定が何か欠けているからでしょうか?
他の質問では2つのテーブルをひとつのフォームにする場合は、クエリを別に設けた方がいいとなっています。フォームが出来上がっているので、できればクエリを設けずに行いたいのですが、よくない方法でしょうか?
手順なども踏まえて教えていただけると助かります。
よろしくお願いいたします。

投稿日時 - 2007-09-19 15:02:03

QNo.3358705

すぐに回答ほしいです

質問者が選んだベストアンサー

テーブル(1)とテーブル(6)とのリレーションか、整合性がきちんとできていないからではないでしょうか?

そのような場合、一般的に、表示は出来るが、データの更新が出来ません。

>フォームが出来上がっているので、できればクエリを設けずに行いたいのですが、

質問内容から判断すると、クエリを経由させるように変更することは、それほど難しくないような気がします。(必須ではありませんが)

投稿日時 - 2007-09-19 15:21:34

補足

早速、ご回答ありがとうございました。
おっしゃるとおりリレーションシップが間違えておりました。テーブル(1)のフィールド●●をテーブル(6)ではないテーブルの★★と結合しておりました。その結合線を削除したら問題は解決されました。
掘り下げて質問をしてもよろしいでしょうか?
やはりテーブル→クエリ→フォームといった形式にしたほうがよいでしょうか?
作成した場合のメリット、作成せずにテーブルとフォームを直に結びつけた場合のデメリットをおわかりでしたら、教えていただけないでしょうか?
お手数をおかけして申し訳ありません。

投稿日時 - 2007-09-19 16:41:15

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

NO1です。
>作成した場合のメリット、作成せずにテーブルとフォームを直に結びつけた場合のデメリット

上記内容は同じような気がするので(今日はどうも風邪気味で自分でもよく考えていませんのでご容赦を)メリットとデメリットとして、あくまで私の考えを記述させて頂きます。

メリット
1.クエリでしか出来ないことがたくさんある。選択クエリ内でも計算や集計。アクションクエリやパラメータクエリ等を使うと更に便利。
2.場合によっては、データベースの大きさをかなり小さくできる。
3.リレーション等の論理的矛盾を発見しやすい。
etc

デメリット
1.ほとんどテーブルの内容を表示させるだけであれば(ルックアップウィザードの対象になる単純なマスターテーブル等)めんどくさい。
2.元になるテーブルにフィールドを追加したとき、クエリーを更新することを忘れそうになる。etc.

仕事で使わざるをえず、私も色々苦労しています。お互いにがんばりましょう

投稿日時 - 2007-09-19 17:52:09

お礼

体調の悪いなか、教えていただいてありがとうございました。
今の私の技量では、必要最低限なこと以外は手を加えたくないな・・・と思っているのですが、それでは上達できないんでしょうね。
バックアップをとったファイルでいろいろといじってお勉強してみようと思います。
これからもよろしくお願いします。

投稿日時 - 2007-09-20 08:47:28

あなたにオススメの質問