Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2236 / 2272 ツリー ←次へ | 前へ→

【3255】メインフォームとサブフォームの関連につ... KKK 04/8/17(火) 21:39 質問[未読]
【3281】Re:メインフォームとサブフォームの関連につ... こもれび 04/8/19(木) 18:48 発言[未読]
【3284】メインフォームとサブフォームの関連につ... KKK 04/8/19(木) 23:18 回答[未読]
【3302】Re:メインフォームとサブフォームの関連につ... こもれび 04/8/23(月) 13:10 発言[未読]
【3326】Re:メインフォームとサブフォームの関連につ... KKK 04/8/24(火) 20:32 発言[未読]

【3255】メインフォームとサブフォームの関連につ...
質問  KKK E-MAIL  - 04/8/17(火) 21:39 -

引用なし
パスワード
   OS:2000
Access Version:2000

<やりたいこと>
メインフォームの顧客情報にもとづいてサブフォーム(2フォームあり)
の顧客対応履歴にデータを案件対応日付ごとに入力していきたい。
対応する際にその履歴を参照し、新たに入力していく形をとりたい。
※一つのフォームの上でサブフォームをタブコントロールで2フォーム表示させ

それぞれの(サブの)履歴を見れるようにまた新規入力できるようにしたい。

<現状>
サブフォームは単票形式で、タブコントロールの上に貼り付けしてあり、
それぞれの元のレコード(メイン・サブ共に)には顧客IDがあり、
リレーションシップでつなげています。
データを入力したとこ
ろ、サブフォームに入力したデータがレコードを移動する

サブフォーム上から消えてしまい、もとのテーブルを見るとデータは蓄積されて
います。
入力したデータ(履歴)を前後レコードを移動しながら見れるようにするには
どうしたらよいでしょうか?

【3281】Re:メインフォームとサブフォームの関連に...
発言  こもれび  - 04/8/19(木) 18:48 -

引用なし
パスワード
   KKK さん はじめまして

本文を読ませていただきましたが、今ひとつわからない点がありますので
教えてください。
的確に回答できるかどうか保証はいたしかねますのでご了承願います。

>それぞれの(サブの)履歴を見れるようにまた新規入力できるようにしたい。
>
><現状>
>サブフォームは単票形式で、タブコントロールの上に貼り付けしてあり、
>それぞれの元のレコード(メイン・サブ共に)には顧客IDがあり、
>リレーションシップでつなげています。
>データを入力したとこ
>ろ、サブフォームに入力したデータがレコードを移動する
>と
>サブフォーム上から消えてしまい、もとのテーブルを見るとデータは蓄積されて
>います。

その1.
レコードの移動はボタンなどのオブジェクトの操作によるものでしょうか
(VBA)、それともフォームに付いている移動ボタンによるものでしょうか。

その2.
メインフォームの「顧客情報」はサブフォームの「履歴」を参照しながら
データが入力され、「履歴」の方も新たなデータが入力されるという使い方
と考えればよいのでしょうか?

>入力したデータ(履歴)を前後レコードを移動しながら見れるようにするには
>どうしたらよいでしょうか?

理解力が乏しく、「データが消える」プロセスがどうも掴めません。
データの更新でリクエリーが必要なのかな・・・と考えましたが、
VBAを使っていないようにも読めてしまったりしています。
恐れ入りますが、ユーザーの操作手順(フロー)など教えていただけないでしょうか。

【3284】メインフォームとサブフォームの関連につ...
回答  KKK  - 04/8/19(木) 23:18 -

引用なし
パスワード
   こもれびさん
初めまして、レスありがとうございます。
私の方でもどう説明したらよいのかうまく言い方が見つからないのですが、、

>その1.
>レコードの移動はボタンなどのオブジェクトの操作によるものでしょうか
>(VBA)、それともフォームに付いている移動ボタンによるものでしょうか。
↑フォームに付いている移動ボタンによるものです。

>その2.
>メインフォームの「顧客情報」はサブフォームの「履歴」を参照しながら
>データが入力され、「履歴」の方も新たなデータが入力されるという使い方
>と考えればよいのでしょうか?
↑メインフォームには既に顧客情報が入力されており、(追加することもありますが)
その下というか、サブフォームに顧客と電話で応対した履歴を入力していきたく、
さらに前回入力したデータも振り返って見ることができたらと思っています。

作った流れは・・・
1) tbl_顧客情報:(氏名/ID(リレーションを組むため)/住所/TEL等・・・)
2) tbl_対応履歴:(ID(リレーションを組むため)/対応履歴/備考)
3) q_対応履歴:1)、2)をIDでクエリを組んで連動するようにしました。
メインフォームは顧客情報のテーブルで作成し、
サブフォームは3)のクエリを元にして作成し、メインフォームに埋め込みました。

サブフォームに履歴を入力したところ、2)の対応履歴のテーブルにデータは
蓄積されるのですが、過去に入力したものが、フォーム上で見ることができません。
※プロパティのデータ入力用は”いいえ”にしてあります。
ひょっとしたらクエリの組み方が間違っているのかもしれません。。
またVBAは使用しておりません。
ひとつ疑問なのですが、サブフォームに単票形式は使用できますよね?

キーになるデータ(ここではID)の結びつけをどこでやればいいのか
(クエリでやるのかリレーションシップの画面でやるのかフォームのプロパティ
でやるのか)がはっきり自分でもわかっていません。。初心者ですみません。。
いろいろと質問しまして恐縮です・・・
ぜひお力をお貸しいただけたらと思います。どうぞよろしくお願い致します。

【3302】Re:メインフォームとサブフォームの関連に...
発言  こもれび  - 04/8/23(月) 13:10 -

引用なし
パスワード
   こもれび です

KKKさんの実現したいことの実際をかんがえていたのですが、もう少し
確認させてください。
「履歴」ということは、何らかの変動する要素(例えば日付)があると
思うのですが、そのあたりを教えてください。

私が想定しているイメージは次のようなものです

顧客A の履歴

日付    対応内容
2004/5/11:商品Qについて
2004/5/28:取り扱い説明に関して
2004/6/7 :商品Rのプレゼンテーション
2004/7/16:新商品発売に関して
2004/7/22:商品Bの故障

このようなデータが幾つもの顧客に対して存在しているということかなと考えております。
操作の順番として考えていましたのは次のようなものを想定したのですが、KKKさんの
考えているものと合っていますでしょうか?

1.フォームを開く
2.顧客を選ぶ
  サブフォームには選ばれた顧客のデータのみ表示される。
3.新たな対応内容を記述するときは「>*」で新規レコードに移動して記述する

上の流れの1は問題ないのですが、2からが問題でユーザーが選んだ顧客でデータの
集合を作れという指令を出してあげないと上の2は実現しません。
(リレーションはあくまで関連付けだけです)

KKKさんのところで起きた「消える」という現象は、レコードが飛ぶというものだと
思われます。

【3326】Re:メインフォームとサブフォームの関連に...
発言  KKK  - 04/8/24(火) 20:32 -

引用なし
パスワード
   こもれびさん

ご返信ありがとうございます!

>1.フォームを開く
>2.顧客を選ぶ
>  サブフォームには選ばれた顧客のデータのみ表示される。
>3.新たな対応内容を記述するときは「>*」で新規レコードに移動して記述する
↑こもれびさんのおっしゃる通りです。

>上の流れの1は問題ないのですが、2からが問題でユーザーが選んだ顧客でデータの
>集合を作れという指令を出してあげないと上の2は実現しません。
>(リレーションはあくまで関連付けだけです)
↑というところで、集合を作る指令とは具体的にどうすればよいでしょうか・・?
ご回答どうぞよろしくお願い致します。

>

2236 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078325
(SS)C-BOARD v3.8 is Free