• 締切済み

クエリでの入力が表示されません

アクセスを使って会員情報の整理をしたいのですが、上手くいきません。 テーブル1 ・ID ・会員名 ・住所 テーブル2 ・ID ・所属委員会 ・所属部会 上記2つのテーブルにリレーションを組んで、クエリを作成しました。 クエリ ・ID ・会員名 ・会員住所 ・所属委員会 ・所属部会 クエリの画面で入力をし画面をいったん閉じてしまうと、 今まで入力しているものは表示されずに新しいレコードのみが表示されています。 でも、画面を閉じる前のレコードはきちんとデーターに反映されているのですが・・・ どうしたらクエリに今までの入力が表示されるのでしょうか? 宜しくお願いします。

みんなの回答

noname#60992
noname#60992
回答No.3

むむ、不可解な現象がおきているような クエリに他の選択条件がないのであれば、一旦表示されていたデータが消えるはずはないと思いますが、作り方以外の問題なのかな? 改善はないかも知れませんがmdbのコピーを作っていくつか試してみたらどうでしょう (1)オートナンバーを整数に変えてみる (2)mdbがこんな風に壊れることは聞いたことはないですが、データベースの最適化/修復を試してみる (3)ためしに、テーブル二つ、クエリ一つのデータベースを 作成してみてそれが思い通りに動くようにできれば、同じことをすればよいだけだと思うので、 テーブル1: id, name テーブル2: id, iinkai クエリ: id, name, iinkai で動くようにして、それが動くならフィールドをふやして、データをインポートしてみる (4)あまり作りこんでいないのなら、データをエクスポートして作り直してみる まとまりのないアドバイスですみません。

noname#60992
noname#60992
回答No.2

こんにちは、No1です。 同じ状況をうまく作り出すことができないのですが、テーブルからももともとあったデータが消えてしまうのでしょうか?  追加されたデータのオートナンバーのインデックスは前にあったものと重複はしてはいないですか? クエリのリレーションシップの結合プロパティを「テーブル2の全レコードとテーブル1の同じ結合フィールドのレコードだけを含める」に変えてもだめですか? なんとなく、IDの振り方とリレーションシップあたりに問題がありそうです。 回答になっていなくてすみません。

framboise3
質問者

補足

お返事ありがとうございます。 テーブルのデーターは消えることなくクエリ画面で入力したものも ちゃんとテーブルには反映されて表示されてきます リレーションシップを変えてみたのですが、ダメでした。 クエリで入力したものが、テーブルには表示されるので テーブルからクエリへの読込みがおかしいんだと思うのですが、 何処を修正したらいいのか分かりません。

noname#60992
noname#60992
回答No.1

いくつか質問を、 テーブル2のIDとはテーブル1のIDですか? テーブル1のIDはオートナンバーをつかっていますか? テーブル2のIDはオートナンバーはつかっていますか? クエリデザインビューでリレーションシップに矢印はついていますか? ついていたらどちらをさしていますか? クエリは選択クエリですよね。 フォームからデータを操作しているのではなく、クエリを直接書き換えているのですよね。  一人の会員が複数の委員会に所属することは、ありえますか?

framboise3
質問者

補足

テーブル2のIDはテーブル1のIDと連動させるために取っています。 テーブル1のIDはオートナンバーにして、 テーブル2には入力の為だけに入力番号(オートナンバー)主キーに設定し、もう一つテーブル1と連動用にID(数値型)を取っています。 リレーションシップは矢印ではなく、一対多の参照整合性になっていて テーブル1が1、テーブル2が∞になっています。 クエリは選択クエリです。 このクエリを基にフォームを作ったのですが、 フォームの方も入力をして画面を閉じると下のレコードのところが 1/1となり、前に入力している分が反映されません。 1人の会員が複数の委員会に所属することがあります。 そのため、実際は委員会だけでも8個・部会だけでも4個あるので テーブル2にはID以外に12個フィールド名を設けてます。 宜しくお願いします。

関連するQ&A

  • 【ACCESS】リレーションを組んでいるフィールドがNullの場合

    一応、過去ログの検索もしてみましたが見当たらないようですので、質問させて下さい。(あまりにも初歩的すぎるのかしら?^^;) ○会員-施設クエリ  ■会員情報テーブル   ・会員情報ID   ・氏名   ・生年月日   ・[施設情報ID]  ■施設情報テーブル   ・施設情報ID   ・郵便番号   ・住所   ・電話番号 上記のような構成で2つのテーブルを[施設情報ID]でリレーションを組んでクエリを作成しております。 会員情報を検索する際、所属施設がわかるようにしたいわけですが、会員情報の入力時に[施設情報ID]がnullのままだと、そのレコードはクエリの表示結果に反映されません。(会員情報テーブルには「0」と表示されて出てくるのですが) 強制入力させたいところですが、会員情報入力の際に所属施設が判明していない場合があり、そういうワケにもいかない状況です。 [施設情報ID]がnullの場合は施設情報関連のフィールドは空欄のままでよいので会員情報部分だけでも表示してほしいのですが・・・。 どなたかお知恵をお貸し下さい。宜しくお願い致します。<(_ _)>

  • accessのクエリへの入力について

    Access初心者です。 2つのテーブル間で1つのリレーションをとってクエリを実行したのですが、実行により生成されたデータシートビュー上でデータを入力することができません。 リレーションとらずに1つのテーブルのみでクエリを実行したところ入力できました。 大変恐縮ですがこの違いについてご教授ください。 よろしくお願いいたします。

  • Accsess2003にて2回目のデータ表示がおかしい

    助けてください!! テーブルに会員データ以外に支部テーブル、部会テーブルがあります。 部会テーブルには、支部コード,部会コード,部会名があります。 会員テーブルには、支部コード,部会コードはありますが、それぞれの名称はありません。画面表示には、各名称を表示するようにしています。 1回目の読込は、通常に表示しますが、2回目に別会員を読み込むとき どうしても1回目の支部コードの部会コードを読込んでしまいます。 例えば各テーブルが下記の時、1回目支部テーブル01 部会テーブル01 の場合 「ははは」を表示します。 2回目 支部テーブル02 部会テーブル02 の場合 「ひひひ」を表示します。正解は「みみみ」です。     支部テーブル 01 あああ 02 いいい     部会テーブル 01 01 ははは 01 02 ひひひ            02 01 ままま 02 02 みみみ  簡単なプログラムですが悩んでいます。是非是非、アドバイスお願い致しますm(__)m        Public Function 会員データ読み込み(会員番号 As String) As Integer Dim データベース As Database, レコード As Recordset Dim SQLステートメント 会員データ読み込み = 0 'return値設定。 SQLステートメント = "select * from 会員情報テーブル where 会員番号='" & 会員番号 & "'" Set データベース = CurrentDb Set レコード = データベース.OpenRecordset(SQLステートメント) If レコード.EOF = True Then '指定されたコードがない。 : End If With レコード Me!会員名 = !会員名 Me!フリガナ = !フリガナ Me!事業所名 = !事業所名 Me!業種1 = !業種1 Me!支部 = !支部 Me!部会 = !部会 Me!隠し支部 = Me!支部.Column(1) Me!隠し部会 = Me!部会.Column(2) Me!会員種別 = !会員種別 : 中略 退会FLG = !退会フラグ SQLステートメント = "select 部会テーブル.支部コード, 部会テーブル.部会コード, * FROM 部会テーブル WHERE (((部会テーブル.支部コード)='" & Me!支部 & "') AND ((部会テーブル.部会コード)='" & Me!部会 & "'));" Me!隠し部会 = Me!部会.Column(2) End With レコード.Close データベース.Close Set データベース = Nothing End Function

  • Access クエリ このレコードセットは・・・

    いつもお世話になります。 Accessで下記の様にクエリを作成しましたが、”このレコードセットは更新できません”と出てしまいます。 ■テーブル1  ・顧客ID(主キー)  ・顧客名  ・住所  ・TEL ■テーブル2  ・顧客ID  ・取引ID(主キー)  ・請求金額 ■クエリ1(集計クエリ)  ・顧客ID グループ  ・請求金額合計: Sum(請求金額) 合計 ■クエリ2(実際に使用するクエリ)  ・顧客ID(テーブル1)  ・顧客名(テーブル1)  ・住所(テーブル1)  ・TEL(テーブル1)  ・請求金額合計(クエリ1) このクエリ2を開いて更新しようとしても、”このレコードセットは更新できません”と左下に表示されて更新できません。 ・請求金額合計(クエリ1)を除けば問題なく更新できます。 ですが1顧客に対して通算で幾ら請求をしたかとその顧客のデータを同一クエリで表示・更新したいので、意味をなさなくなってしまいます。 どなかた良い方法をご教授下さいませ。

  • アクセスのクエリの”ここ”を理解したい。(IDの自動入力について)

    アクセスでクエリだけをつかって(VBAをつかわず)簡易システムを作りたいのですが、下記のことについて教えてください。理解した上で”確信”を持ちたいのです。下図のわかりにくい質問図で申し訳ありません。 ************************************************* (クエリデザインビュー)        『備考入力クエリ』 《テーブル名:備考》.............《テーブル名:名簿》   ....... ID ...... ←----..........ID    備考1           氏名    備考2           住所 ************************************************* フィールド: ID   氏名   住所   備考1   備考2 テー ブル:名簿  名簿   名簿   備考    備考 ************************************************* とクエリを作成したときに、クエリ上で、「備考1」「備考2」に入力すると、結果的にテーブルの「備考」のIDにはクエリの連結したもの(テーブル:名簿のID)が自動入力される。このような理解にたった前提で簡易システムを構築しても間違いないでしょうか?私が試した限りではそうなるのですが、何故できたのか偶然の発見で、確信がないのです。それでこの考え方の正誤について教えてください。ここでつまづくとすべてが狂ってしまいそうで・・・。よろしくお願いいたします。

  • accessで2つのテーブルをクエリ画面で表示する

    access初心者です。 2つのテーブルの情報を1つのクエリに表示したいです。 ・テーブル1 主:入荷通し番号 商品名A 売却通し番号 ・テーブル2 (エクセルでその日の売却結果が自動インポートされる様になっている) 主:売却通し番号  商品名B 売却値 これに対し、クエリには ・商品名A ・売却通し番号 ・売却値 のフィールドを用意しています。 商品を入荷した時にテーブル1画面で入荷通し番号と商品名を入力し (この段階では売却通し番号は空欄)、 商品が売れたら、テーブル2を参照して クエリ画面の売れた商品に対して売却通し番号を入力する事で、 テーブル1の売却通し番号に番号が入力され、 クエリ画面の同じレコードに売却値が表示される形にしたいです。 問題なのが、テーブル1の商品名Aとテーブル2の商品名Bは 入荷元とエクセルインポート元で同じ名前が使われていない状態です。 (商品名A:あいう商店チョコ、商品名B:チョコレート(あいう商店)みたいに) ですので商品名は人間の目で判断する為のもので、 accessでの自動紐付けが困難です。 サイトで調べてもリレーションの解説画面では 情報が入力されてる2つのテーブルを結合するものだったり、 自身で色々パラメータをいじってもうまく反映されずに 対応が困難な状況になっています。 access初心者でもしかしたら検討違いの事をしているかもしれませんが、 解決方法が分かる方がいましたら教えて下さい。

  • アクセス クエリの重複について。(初心者です)

    一つのフォームに非連結のテキストボックス(入力画面)とリストの中で、管理参照画面みたいな感じで、一覧を並べたいのです。リスト内で選んだ項目が非連結のフォームに入っていくような感じで。。リストに表示する内容はクエリから引っ張ってくるようにしました。テーブルには数字で持たせているので、コンボボックスで表示がされるように、リストボックスの中に列幅2cm;3.808cm;3.808cm;2.508cm;4cm;2.503cm;等と指定して、値集合タイプにテーブル/クエリ、値集合ソースにクエリ名として表示するようにしました。データを3件入力すると、当たり前なのですが、テーブルには3件のレコードがありました。クエリには9件のレコードが表示されています。レコード内で数字を名称として表示できることは出来たのですが、レコード数が増えて保存されるのはどうしてなのでしょうか?テーブルには複数に主キーをもたせてあります。重複するはずないのですが・・。テーブルにはちゃんと入力した分だけ3つの情報が入っているのに、クエリには9件と増えてしまっているのでしょうか?テーブルに1,2,3と入っていたら、クエリには1,2,3,1,2,3,1 ,2,3と入っています。原因はなんなのでしょうか。

  • ACCESS2000のフォームからの入力でデータが上書きされる

    書類の受付簿を作成しました。 ユーザー1件ごとに受付日を入れると 規則性無く、時々入力したはずの日付が 前のレコードに書き込まれてしまいます。 内容としては【テーブル】 ユーザーテーブル(約2000件) 受付簿テーブル(3種類をそれぞれmm/ddで) ユーザーでは無くなった退会テーブル(Yes/No) 3つのテーブルで管理しています。 【クエリー】 日付入力をするためにクエリーを1つ作成 しました。上記3つのテーブルの合体させたもの。 それぞれのテーブルはユーザーIDでリレーションし ました。 【フォーム1】→これで入力するとおかしくなる ユーザーIDで検索し、ユーザー名が表示されたら 3項目ある受付枠に日付を入力する画面 フォームビューで作成 【フォーム2】 同じクエリーをデータシートビューで表示させ 検索機能なしで、直接ユーザーIDの該当枠に入力 する画面 を作成しました。フォームビューで作成したフォーム 1で入力したときに、どういう規則性があるか まったく判らないのですが、1件前のユーザーIDに セットされ、入力したはずの部分は空欄になって しまいます。 また、この現象に関連するのでしょうが、すでに入力 されていた日付が、消えてしまう現象もおきます。 何が原因でこのような現象になっているか、まったく 検討がつきません。どこら辺を、チェックしたら 良いか、回答をお待ちしています。

  • クエリの質問です。

    Windows2000/Access2000 AとBのテーブルがあり、ID番号が主キーでリレーションが設定されてます。 AのテーブルにはID番号・ユーザー名・住所・商品番号があります。 BのテーブルにはID番号・ユーザー名・住所・商品番号・受注年・月・日があります 。 Bのテーブルと同じ商品番号の値を持つAのレコードを抽出させたいのですが、抽出条件をどのように設定したら良いのか分かりません。 初歩的な事ですがアドバイス宜しくお願い致します。

  • ACCESSのクエリで表示されるデータについて

    クエリで表示されるデータの範囲について教えてください。 <状況例> 例えばなのですが、取引先会社の管理データベースとして「テーブルA」と「テーブルB」があったとします。 「テーブルA]のフィールドは「会社ID」、「会社名」、「住所」とします。 「テーブルB]のフィールドは「連絡先ID」、「会社ID」、「担当者名」とします。 そして、「会社ID」をリレーションシップで繋いで、クエリで「テーブルA」「テーブルB」の全てのフィールドを表示したとします。 この時、「テーブルA」にデータが5つあり、「テーブルB」にはデータが2つしかなく、結果リレーションシップを通じて対をなすデータが2つしかない場合には、クエリでは2つしかデータが表示されないと思います。 <質問> クエリではリレーションシップで対をなさないデータは無効となるようですが、対をなさないデータも全てクエリで表示する方法はないのでしょうか。 上記例でいうと、「テーブルA」のデータ5件全てについて表示させたいのですが。もちろん、「テーブルA」のデータ中対をなしていないものについては、「テーブルB」のフィールド内容については「空白」での表示となりますが。

専門家に質問してみよう