- ベストアンサー
アクセスについて
アクセスについての質問です。 あるテーブルのデータを元に、いろいろな条件をつけて抽出したデータから新しいテーブルを幾つか、又は、レポートを幾つか を作る場合に、もとのテーブルのデータの一部(たとえば、電話番号を変更するなど)を変更する場合に、もとのデータから抽出して作った新しいテーブル、又は、レポートに、変更を自動的に反映させたい場合には、どのようにすれば、宜しいのでしょうか? 宜しくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
> 抽出したデータから新しいテーブルを幾つかを作る場合に > データの一部を変更する場合に この新しいテーブルの内容は永続的に使うものなのでしょうか? 質問からみると新しいテーブルの内容だけを変更したいように受け取れます。 もしこの新しいテーブルを永続的に使うなら、元のテーブルの内容と新しいテーブルの内容との間に整合性がとれなくなります。 データを変更した新しいテーブルを一時的につかうのであれば構いませんが... しかし、これでは折角変更したデータは元テーブルに反映されません。 Access等のリレーショナルデータベースにおいては、同じデータ項目を複数のテーブルで持たないように設計すべきです。 というより、複数のテーブルで同じ項目を持たせなくても良いようにデータベースを設計できる仕様になっているのです。 元テーブルと新規テーブルに異なるデータが入ったまま新規テーブルをに永続的に使っていくおつもりなら、差し出がましいようですが、データベースの仕様を見直しされることをお勧めします。
その他の回答 (3)
- mshr1962
- ベストアンサー率39% (7417/18945)
新しいテーブルの場合はそのテーブルを作成クエリで上書きする必要がありますね。 変更したデータ以外の変更をしたくない場合は更新クエリで変更になります。 クエリやレポートなら変更時にそのまま反映すると思いますよ。 最も新しいフィールドの場合はクエリやレポートにそのデータが反映するように変更が必要です。
補足
とても基本的な事を伺いたいのですが、作成クエリで、上書きとは、どのようにすれば、宜しいのでしょうか? 先日、一つのテーブルを元に、新しいフォームを作成してリレーションしたのですが、元テーブルに新しい項目作成しても、フォームには、反映されませんでした。 逆に、フォームに入力したデータは、きちんとテーブルに反映されていました。テーブルに新しい項目を増やすたびに、フォームを一回一回、変更いますが、おそらく私の知識不足で、便利な方法がわかっていないだけではないかと思われるのですが、良い方法がありましたら、ぜひ、教えて下さい。 フォーム以外にも、レポートにも 反映させられたら、とおもっています。
- imogasi
- ベストアンサー率27% (4737/17069)
基本的に、アクセスの理解が危ないのではないですか。 アクセスはテーブル->クエリ-レポートまたはフォームの考えで、 テーブルの変更をレポートやフォームに反映するように、基本思想がなってます。 アクションクエリの一部は別として、それはクエリが結果データを持つのでなく、結果を出す仕組みだけをもち、クエリを実行するごとに、そのときの基テーブルにさかのぼって、実行をやり直します。 たとえば選択クエリを実行すると、結果がどこかに残っていると思ってませんか。 >いろいろな条件をつけて抽出したデータから新しいテーブルを幾つか・・ クエリの結果をテーブル化できる操作はあって、簡単なのですが、それをいつもやっているのでしょうか。やってないのでは。通常はそうする必要がない。テーブルとクエリはほとんど両者差別なく、いろんな操作において、どちらかを指定できます。
補足
おっしゃる通り、基本的なアクセスの理解が危ないと思います。 選択クエリを実行して、それを新たなテーブルとして、名前を付けて保存しているのですが。。。。その新しいテーブルと元のテーブルのリレーションが出来ればと思ったのですが、どうも、うまく、リレーションが出来ていないようで、変更箇所が反映されていないのです。。。。 元テーブルの項目を増やしても、リレーションされているフォーム、レポートには、新しい項目が反映されていないのですが、そういった場合には、どのようにすれば宜しいのでしょうか? 宜しくお願い致します。
- papaiyaiya
- ベストアンサー率14% (20/139)
クエリで抽出した状態で変更することで基本となる元のテーブルのデータは変更されるけどそれではダメなんですよね?
補足
ご返答有難うございました。 クエリで抽出した状態で変更する事で基本となる元テーブルのデータが変更されるのでよいのですが、元テーブルを基準に、クエリで抽出したデータを新しいデータとして保存をし、その元データを親にして、5個くらいのテーブルを作り、そのテーブル一つ一つを相互作用できるようにしたかったのです。 上司が、テーブル形式を好む為、テーブルから、レポートにするよりも、テーブル形式で、新たにどんどんデータを増やす事を要求されている為、このような質問になってしまいました。 宜しくお願い致します。
お礼
ご返答をありがとうございました。 質問の仕方が曖昧で混乱させてしまいまして、すみません。。。。 上司が、一つのデータを元にして、どんどんと新しい項目を作成して 新しいテーブルを作るような事を要求してくる為、元来、そういったデータは、リンクをはり、エクセルで処理をしていたのですが、その他の上司の要求上、そして、いろいろな都合上、不便な上、重くなってしまう為、困っていました。 アクセスを使用して、リレーションで、テーブル同士等つなげておけば、もしかしたら、何か変更があった際に、一つのデータを変更する事で、すべての今までのテーブルが自動的に変更できるのではないかしら、と思ったのが、この質問のきっかけでした。 こういった場合には、たとえば、別のデータベースの方が良いのでしょうか? 他の方もおっしゃっている通り、まだ、アクセス事態をうまくは、把握していないのも、原因かとは思うのですが、皆さんを混乱させてしまってすみませんでした。