アクセス2000で、氏名と性別コード(1or2)のあるテーブルを作りました。
性別を漢字で表示したいので、1=男、2=女というべつのテーブルを作って
リレーションシップを設定しようとして、氏名と性別コードのあるテーブルを
もとにクエリを作成して、1=男、2=女というテーブルを表示したところ、
クエリにデータ追加ができる表示がでなくなりました。
また、そのクエリをもとに、フォームを作ったら、性別コードの部分が「この
データは更新できません」というようなメッセージが出て、データの修正も、
できません。
どうしてでしょう?
どうしたら、解決するでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (4件)

私も最初、この問題で困惑した覚えがあります。



元の"性別コード"テーブルで主キーの設定をしないとこの様な状況が発生します。

"性別コード"(テーブル)の性別コードを主キー設定してみてください。

主キーを設定しないでテーブルを保存しようとすると"リレーション設定が出来ません"等のメッセージが出ます。

私は97を使用していますが2000も同じだと思いますので、一度試してみて下さい。
    • good
    • 0
この回答へのお礼

いや~ぁ。まったく、その通りでした。おかげさまで、すっきり解消しました。ありがとうございました。

お礼日時:2001/05/15 17:53

あ、なるほど、主キーを設定していなかったのね。


tamsonさんの回答が正解のようですね。
ワタシの回答は、無視してください(^^ゞ
    • good
    • 0
この回答へのお礼

いろいろと、ありがとうございます。確かに主キーが設定されていなかったことが、原因でした。yuziroさんのご意見もたいへん参考になりました。

お礼日時:2001/05/15 17:50

個人情報テーブル


個人コード:氏名:性別コード
1:山田太郎:1
2:山田花子:2
3:田中一郎:1

性別テーブル
性別コード:性別名称
1:男
2:女

デザインビューで新規クエリを作成し、
個人情報テーブルと性別テーブルを追加。
性別テーブルの性別コードをドラッグして、
個人情報テーブルの性別コードの上にポンと落とす。

個人情報テーブルのフィールド、
[個人コード][氏名][性別コード]と、
性別テーブルのフィールド、
[性別名称]を表示するように設定する。

これで出来ますよ。

arigaさんのやり方と、
どこが違っているのかは、
よくわかりませんが・・・
    • good
    • 0

一体何をしたいのでしょうか?


・表示専用画面
・表示 兼 編集画面
話の流れからすると後者のようですね。
だとすると、編集画面のレコードソースには
クエリーを使う必要はありませんね。
「氏名と性別コード(1or2)のあるテーブル」で十分です。
では、性別のところをどうするかというと、
そこがAccessの楽なところなのです。
まず、性別表示用の「コンボボックス」を準備し、
集合値ソースをテーブル/クエリーを選択し、
1=男、2=女というテーブルを指定します。
表示に関しては最初のカラムの教示幅を0cm;とし、
連結列を1列目を指定します。
さらに、このコンボボックスのコントロールソースを
「氏名と性別コード(1or2)のあるテーブル」の性別
フィールドを指定すれば完了です。
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qテーブルとクエリを参照性合性の一対多でリレーションシップで定義づけることは不可能なのでしょうか?

ACCESS2003です。
テーブルとクエリを参照性合性の一対多でリレーションシップで定義づけることは不可能なのでしょうか?
ただつなげることしかできません。
なぜでしょうか?
よろしくお願いします。

Aベストアンサー

リレーションシップとはテーブルとテーブルの関係を規定するものです
クエリにリレーションシップはありません

また、クエリでの結合(JOIN)とリレーションシップは全く別物ですよ
混同していませんか?

QAccess クエリを元にクエリを作るとデータがうまく表示されません

いつもお世話になっています。
下のようなデータがあったとします。
施設データは「施設マスタ」として別テーブルがあり、リレーションでつながっています。「利用者マスタ」も同様です。

日付 |  施設名 | 利用者
________________
4/1|  会議室 | 東京商事
________________
4/1|  和室  | 大阪電機
________________
4/1|  ホール | 名古屋運輸
________________
4/2|  和室  | 東北旅行
________________
4/2|  ホール | 東北旅行

クエリで日ごとの各施設の使用者を下の表のように把握したいのです。

日付 | ホール  | 和室  | 会議室
______________________
4/1| 名古屋運輸|大阪電機 | 東京商事
_______________________
4/2|東北旅行  |     | 東北旅行

      ↑

↑の部分は「利用者マスタ」の「利用者」フィールドをはめ込みました。そこの抽出条件に「施設」="ホール"というような書き方すればいいのかと思いましたが、うまくいきません。
どのように記述すればよいか教えてください。
また、根本的に考え方が違う場合にはご指摘ください
よろしくお願いします。

      

いつもお世話になっています。
下のようなデータがあったとします。
施設データは「施設マスタ」として別テーブルがあり、リレーションでつながっています。「利用者マスタ」も同様です。

日付 |  施設名 | 利用者
________________
4/1|  会議室 | 東京商事
________________
4/1|  和室  | 大阪電機
________________
4/1|  ホール | 名古屋運輸
________________
4/2|  和室  | 東...続きを読む

Aベストアンサー

クロス集計クエリを使ってください。
ウィザードで出来ます。
ウィザードを使わないでSQLでは日付・施設名・利用者のあるテーブルもしくはクエリを[施設利用状況]とした場合

TRANSFORM First([施設利用状況].利用者) AS 利用者の先頭
SELECT [施設利用状況].日付
FROM 施設利用状況
GROUP BY [施設利用状況].日付
PIVOT [施設利用状況].施設名;

こんな感じで来ます。

Qアクセス2007 テーブルデータの作成とリレーションシップについて

アクセス2007を使用しています。
保育関係の仕事をしていて、子どものデータ管理をアクセスでしたいと思い、色々考えています。

テーブルには住所などのページ(これを大元のページにする)。そこから枝分かれにし、日誌のページ。各個人の記録をするページなどです。
これを例えばAさんを選ぶと、保育記録や配慮事項などの一覧を見るようにできるようにしたい。

また、日誌のフォームを作り、1日の流れを記載する部分や、怪我をした子どもの対応記録、保護者からの連絡事項、おやつのメニューなどの項目を作りたい。
閲覧する際は月別の一覧から選べたり、おやつのメニューから選択したり、日誌に乗せた名前から検索出来るようにしたい。
逆に氏名を検索することで、記録している内容の一覧が出るようにし、日時の範囲を指定してから検索という方法もとりたい。

というように考えています。
何からどのように作成していくのが良いですか?

また、データの元になる住所録や本日までの保育記録はエクセルとワードに入っているのでインポートし、フォームに沿って分類出来ればと思っています。

アクセス2007を使用しています。
保育関係の仕事をしていて、子どものデータ管理をアクセスでしたいと思い、色々考えています。

テーブルには住所などのページ(これを大元のページにする)。そこから枝分かれにし、日誌のページ。各個人の記録をするページなどです。
これを例えばAさんを選ぶと、保育記録や配慮事項などの一覧を見るようにできるようにしたい。

また、日誌のフォームを作り、1日の流れを記載する部分や、怪我をした子どもの対応記録、保護者からの連絡事項、おやつのメニューなどの項目...続きを読む

Aベストアンサー

少し休憩しますか?
これも、あれも戸お伝えしなければといろいろ先走りしたようで反省しています。

あなたと同じ様にACCESSの初心者の方がいらっしゃいました。
今度は最小限のことを説明するよう気をつけています。
よろしかったら、かきURAをご覧下さい。
通常は回答の新しい順表示されますが、回答順の方が見やすいと思います。
最後の方で表示順をかえることができます。

参考URL:http://kikitai.teacup.com/qa5322768.html

Qクエリのデータをテーブルに入れたい

アクセス2000での話なんですけど、
クエリではじき出したデータをテーブルに保存したいんですけど、具体的にはどうすればよいのでしょう?
当方、超・超・超初心者なので詳しくお願いします。
わがままで、すみません。

Aベストアンサー

>クエリではじき出した

ということは、その「選択クエリー」(まぁ、普通のクエリーですね)をご自分で作られたわけですよね。
とすると話は簡単で、
その「選択クエリー」をデザインモードで開いて、そのときの画面上方のメニューに[クエリ]がありますから、そこから
(1)既存のテーブルに追加保存したい場合は「追加」を
(2)新規にテーブルを作って保存したい場合は「テーブル作成」を選択します。

各々、選択したときに保存対象とするテーブル名を訊いてきますので(1)なら既存のテーブル名、(2)なら新規に作成したいテーブル名を入力します。

こうすることで「選択クエリー」は「追加クエリー」または「テーブル作成クエリー」に変換されます。

大まかにはこういうことなんですが、その他の詳しいことはイルカ君に訊いてみてください。キーワードは「アクション クエリ」です。

QACCESS クエリをテーブルとして作り直す方法

クエリをテーブルとして保存したい。どのようにすれば良いでしょうか?
よろしくお願い致します。

Aベストアンサー

作成したクエリをデザインビューで開き、
クエリの種類を「テーブル作成」に変更します。
(ツールバーの「クエリ」→「テーブル作成」)
すると、新しいテーブルの名前を聞かれるので、
入力してください。
終わったら保存します。

その後、そのクエリを開こうとすると、
「テーブル作成クエリを実行すると、新しくテーブルが作成されます」というメッセージが表示され、
「はい」を選択するとクエリで選択した内容をコピーした
テーブルが作成されます。


人気Q&Aランキング

おすすめ情報