- ベストアンサー
主キーが二つないと、フォーム入力が思ったようにできないのか?
こんばんは。 従業員の出入りが激しいため、従業員の入社時の「志望動機」と 「退社理由」をデータベースで残して 分析しようという試みのため、 入力用にフォームを作ったけどうまくいきません。 (1)社員基本情報テーブル(主キーは、社員コード。フィールドは、社員コード、氏名、入社日、退社日、部署) (2)入退社テーブルを新規に作成(主キーは社員コード。フィールドは志望動機、退社理由) (1)、(2)を社員コードで結合してクエリを作成しました。 このクエリを元に、フォームを作成しました。 こちらで作成したいフォームのイメージは 社員コードを入れると、氏名と部署、入社日、退社日が自動的に参照。 あとは志望動機と退社理由を入れる。 ところが、実際には 社員コードを入れても自動的に参照は行われず、ただ、一度フォームを閉じてもう一度開けるとそこには上記データが参照されてきます。 ちなみに、(2)で主キーを社員コードと志望動機の二つにすると うまくいったのです。 うまくいった理由も分からないですし、うまくいかなかった理由も分かりません。 これは何がどう悪くてこのようになっているのでしょうか?
- みんなの回答 (4)
- 専門家の回答
関連するQ&A
- テーブル作成クエリで主キーを設定
サブフォーム作成のため主キーを設定したいのですが、クエリでグループ化した顧客コードをテーブルとするクエリで主キーを顧客コードに設定したいのですが、クエリ実行で主キー設定方法を教えてください。
- ベストアンサー
- その他(データベース)
- アクセス 数値型にするとフォームの入力ができない
お世話になります。色々調べたり、実験してみたのですが、分からない点があります。 簡単でいいので、可能性のある原因を教えてください。 アクセス2003です。 ■パターン1 フォームC の入力ができる テーブルA(主キーがオートナンバー型)、その他4つのテーブル(これら5つのテーブルは、参照整合性リレーションで結ぶ) →それらを元にクエリBを作る→クエリBを元にフォームC を作る ■パターン2 フォームC の入力ができない テーブルA(主キーが数値型)、その他4つのテーブル(これら5つのテーブルは、参照整合性リレーションで結ぶ) →それらを元にクエリBを作る→クエリBを元にフォームC を作る 簡単にいうと、テーブルのデータ型によって、入力可否が変わるのです。 なぜ、パターン2は、入力できないのか分かりません。 よろしくお願いします。
- 締切済み
- オフィス系ソフト
- 主キーの選び方
主キーが良くわからなくなってきたので質問させてください。 このようなデータベースのとき、主キーは社員番号でいいですよね #同姓同名を考えると社員番号かと 社員番号|氏名|部署 0001|ほげ|デバッグ部隊 0002|ふー|リリース部隊 0003|ばー|クレーム対応部隊 0004|ばー子|接待ゴルフ部隊 0005|ほげ子|リリース部隊 ただ、部署を複数所属してよいとすると、社員番号だけが主キーだと行が一意に決まりません。 このときはどれを主キーとして選ぶべきなんでしょうか? また、○○部隊に所属するひとリストアップするにはどのように正規化(設計?)すればよいのでしょうか? 社員番号|氏名|部署 0001|ほげ|デバッグ部隊 0001|ほげ|接待ゴルフ部隊 0002|ふー|リリース部隊 0003|ばー|クレーム対応部隊 0004|ばー子|接待ゴルフ部隊 0005|ほげ子|リリース部隊
- ベストアンサー
- その他(データベース)
- アクセスのフォームで入力ができない
Accessの操作が出来る程度なのに、頑張って「社員台帳」たるものを作成し始めました。 テーブルに ・社員基本データ ・公的資格・学歴データ ・略歴・賃金データ を作成し、社員IDをキーにその3つのデータでクエリーとフォームを作成しました。 テーブルの各データではデータの編集及び追加が可能なのですが、フォーム画面で入力が出来ません。 説明不足かもしれませんが、どなたか教えてください。 宜しくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- Accessのフォームで
教えてください。下のようなテーブルがあり、これを元にフォームを作成したいのですがいい方法が見つかりません。 【テーブル】 品物テーブル(品物ID、品物、製作所) 社員テーブル(品物ID、社員コード、氏名) このテーブルを元にして下のようなフォームを作りたいのです。 【フォーム】 品物ID [テキストボックス] 品物 [テキストボックス] 製作所 [テキストボックス] 社員コード [テキストボックス] 氏名 [テキストボックス] 社員コード [テキストボックス] 氏名 [テキストボックス] 社員コード [テキストボックス] 氏名 [テキストボックス] ※社員コード、氏名が3つあるのは、同じ品物を3人が作成することがあるため。(この部分で悩んでいます) このようなフォームを作ることは可能でしょうか? また参考になるようなサイトなどあれば教えてください。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- フォームで主キー(No)を入力すると他の項目も自動的に表示
ACCESS2000・フォームで主キー(No)を入力すると他の項目も自動的に表示させたい。 テーブルの構成は、以下のとおりです。 データベース名:報告書 テーブルA | フォームA フィールド1(数値) | フィールド1(数値) フィールド2(テキスト) | フィールド2(テキスト) フィールド3(テキスト) | フィールド3(テキスト) テーブルB | フォームB フィールド1(数値) | フィールド1(数値) フィールド2(テキスト) | フィールド2(テキスト) フィールド3b(テキスト) | フィールド3b(テキスト) 主キーはフィールド1です。 リレーションを組んでおり、テーブルAからテーブルEまでのフィールドは同じ物ならば(フィールド1=フィールド1のように)リレーションを設定しています。 これをフォーム上ででフィールド1(主キー)を入力すれば、他のフィールド2、フィールド3~も自動表示され、他のフォームもフィールド1(主キー)を選択すれば表示されるようにしたい。 ユニオンクエリなどを使うべきなのでしょうか? どなたか回答、宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- Accessの主キーについて
お願いいたします。 Accessの主キー設定について教えてください。 主キーの役割は、テーブルの中のレコードを区別 するための機能だと思いますが、 フィールドのデータ型をオートナンバー型にして おけば主キーの設定は必要ないのではないでしょう か? 主キーを設定する理由としては、参照整合性のため に行うという考え方で良いでしょうか? また、複数の主キーを設定するという場合のテーブ ル構成はどのような場合のシステムなのでしょうか? どうぞ教えてください。
- 締切済み
- その他(データベース)
- Access 主キーの変更について
調査データの集計、蓄積用のDBを制作しております。 制作しているDBは主キーに県コードが含まれています。 そのため、調査データの住所に変更があるとコードを変えなければなりません。 AccessでのDBはほぼ完成しており、今からコードの形態を変更することは避けたいです。(もともと古い独自のDBのデータを流用しています。) 現在、主キーに県コードが含まれていますが、それとは別に県コードフィールドを設けています。 ※コードの形態 (先頭の二桁又は一桁が県コード、コードは4桁又は5桁) 例 主キー 北海道 1001 東京 13199 沖縄 47001 新規のデータを入力する際に主キーを入力しているのですが VBAの知識がないので県コードは個別に入力しています。 住所が変わり県が変更になった場合主キーを変更する必要が あるのですが一対多でリレーションシップをいくつもしてあり サブフォームなども使用してます。 主のフォームで主キーを変更した場合、関連付けられたレコードの主キーも変更されるようにしたいのですが可能でしょうか?
- 締切済み
- オフィス系ソフト
- accessのクエリとフォームの関係についてお尋ねします。
accessのクエリとフォームの関係についてお尋ねします。 IDを主キーとした同じような構造のテーブルを3つ繋いでクエリを作成し、更にそのクエリをレコードソースとしたフォームを作成しました。 ところがフォームが動かない。テキストボックスを3つ作っていますが、何も表示してないし、レコードも移動しません。 まいった。 accessは2003、vistaを使っております。 素人です。よろしくご教授くださいませ。
- ベストアンサー
- その他MS Office製品
- クエリでなぜか空白?
テーブル1 社員コード(主キー) 氏名 テーブル2 社員コード 年月日 職務歴 のものから クエリ(社員コードによるパラメータクエリ) 社員コード 氏名 年月日 職務歴 をつくりたいのですが、社員コードによってはレコード全てが空白となってしまいます。勿論、そのコードもテーブル1に入力済なのですが…。 初心者で原因不明のため、どなたかアドバイスをください。宜しくお願いします。
- 締切済み
- その他([技術者向] コンピューター)
お礼
お礼がおそくなり申し訳ございません。 派生関係や、参照整合性など 普段 あまり深く理解せずDBを扱っている自分にきづきました。 勉強になりました。