プロが教える店舗&オフィスのセキュリティ対策術

access2003 を使用している初心者です。よろしくお願いいたします。

今、顧客対応履歴をアクセスで作成しています。
4回までの対応履歴を入力できるようにしています。

1つのテーブル内にフィールドは、

顧客名、1回目対応日時、1回目対応内容、2回目対応日時、2回目対応内容 ・・・・4回目対応内容、対応完了フラグ

対応日時の表示は、yyyy/mm/dd h:mm
対応完了フラグは、チェックボックスの値設定で、1回目で完了=1、2回目で完了=2・・・

と設定しています。


報告の際には、最終対応履歴のみを報告すればよいので、

顧客名、最終対応日時、最終対応内容

を抽出してエクセルデータに落とします。
毎回の作業になるので、直接クエリを操作するのではなくボタン設定を行いたいと思っています。

1テーブル内で設定ができるものなのでしょうか判らなくて。
どうぞよろしくお願いいたします。

A 回答 (3件)

ボタンで動作させるのは、マクロでもモジュールでもかまわないです。



>1テーブル内で設定ができるものなのでしょうか判らなくて。

質問の、この意味は最終履歴の抽出の仕方でしょうか?

一応クエリを、SQLビューで表示したものを、書きます。
SELECT 顧客対応履歴.顧客名, IIf(Not IsNull([顧客対応履歴]![4回目対応日時]),[顧客対応履歴]![4回目対応日時],IIf(Not IsNull([顧客対応履歴]![3回目対応日時]),[顧客対応履歴]![3回目対応日時],IIf(Not IsNull([顧客対応履歴]![2回目対応日時]),[顧客対応履歴]![2回目対応日時],[顧客対応履歴]![1回目対応日時]))) AS 最終対応日時,
IIf(Not IsNull([顧客対応履歴]![4回目対応日時]),[顧客対応履歴]![4回目対応内容],IIf(Not IsNull([顧客対応履歴]![3回目対応日時]),[顧客対応履歴]![3回目対応内容],IIf(Not IsNull([顧客対応履歴]![2回目対応日時]),[顧客対応履歴]![2回目対応内容],[顧客対応履歴]![1回目対応内容]))) AS 最終対応内容
FROM 顧客対応履歴;

長々として複雑そうですが、実際はそうではなく
4回目対応履歴があれは、4回目を
無ければ、3回目の対応履歴があれば3回目を
無ければ、2回目の対応履歴があれば2回目を
無ければ 無条件に1回目をと言う判断で、日時と履歴を取り出しています。

質問自体が良くわからなかったので、勘違いであれば読み捨ててください。
    • good
    • 0
この回答へのお礼

質問が判りづらく失礼しました。
推察で回答して頂きました内容が、まさに教えて頂きたかった内容になります。

「SQLビュー」これすら初耳でした。こんな風にソース表示できるのですね。早速教えて頂いたSQLビューを、実データに当てはめて記載するとバッチリ希望通り抽出できました。

ありがとうございました。

お礼日時:2007/08/22 17:39

データベースの構造としては、同じ属性の項目を横に並べるのは如何なのもか、と思います。

現に4回までという制限がかかってます。
顧客名、対応日時、対応内容、対応完了フラグ
程度にしておいたほうがすっきりすると思います。
横並び等はクエリやレポートの設計でどうにもできます。

参考URL:http://www.yscon.co.jp/j/am/kihonyougo/normal.htm
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

1ファイルにすべて入れたほうが簡単かも、と初心者考えをして作りこんでしまいました。
次回作成の参考にさせていただきます。

ありがとうございました。

お礼日時:2007/08/22 17:49

こんにちは。


何だか変なテーブルだと感じましたが…

[テーブルA]
・顧客名(若しくは顧客マスターを作ってIDを使用)
・対応日時
・対応内容
(・必要があれば終了フラグ-0:継続 1:終了 というようなもの)

という形が普通なような気がしますが。その場合だと、抽出条件『DMax("対応日時","テーブルA","顧客名='" & [顧客名] & "'")』のクエリさえ用意してそれをExcelにエクスポートすれば、お望みの最終対応の表が出来上がるかと思います。エクスポートすら面倒だと仰るなら、そのクエリをエクスポートするマクロを組めば宜しいかと思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

1テーブルにすべての情報を入れて、逆にむずかしくなってしまいました。
今回は、結構作りこんでいるので1テーブルのまま行きます。
次回作成の際に参考にさせていただきます。

ありがとうございました。

お礼日時:2007/08/22 17:44

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