- ベストアンサー
Access2003で顧客とのやりとりのメモを都度、記録したいのですが、どのような方法をとるのがベストなのでしょうか?
顧客の対応履歴を残しているテーブルとフォームがあります。 そのフォームにやりとりのメモを残したいという使用者の要望が入りました。 フリーメモ式で対応したタイミングごとに記述したいそうです。 日付や区分などは自分でその都度、入力しても構わない。 それにメールの文章をコピペストするようです。 対応履歴のヘッダーとなる、顧客名、商品番号、発生日、対応分類も表示させながら、対応が完了するまでのやりとりの詳細をその都度、入力したいというのが希望のようです。 使用者の希望としては、対応履歴のヘッダーと、ワード感覚で入力できるボックスを同じフォームに表示させたいようです。 文字量はその対応内容にもよるので、長いものもあれば短いものもあるが、長いものであってもその画面内で見たい、スクロールバーで表示画面をずらす形でも構わないということです。 そこで私は、もともとあった備考を利用しようと思いました。備考はメモ型だったので、ちょうどいいと思ったのです。使用者も備考でかまわないので、そのスペースを広げて欲しいということで、うまくいくだろうと思いました。 ところが実際にやってみると、改行ができないようです(前任者が作った.mdbなのですが、テーブルの備考フィールドの説明にも「改行しないでください」と書かれてます。) そこで、スペースキーで次の行までカーソルを移動させて、改行してあるかのようように見せかける方法で対応しようと思ったら、思わぬところ(真中のほう)にカーソルが行ってしまいます。 でも、入力をしてEnterキーを押すと左はじに戻ります。 この状態だと入力の使い勝手がよくありません。 それで、メモ型からOLEオブジェクト型に変更を試みました。あらかじめ作成しておいたワードを挿入して編集するときはダブルクリックでと入力してもらおうと思ったのですが、今度は、スクロールバーで表示をずらすことが出来ないようです。OLEオブジェクト型に変換できるのかもわかりません(もともと入力されていた文字はロングバイナリデータ・・・に自動的に変わってしまいます。) また、備考フィールドには既存のレコード2000件以上のデータがあるので、それをうまく移行させる方法もわかりません。 使用者の要望に沿うようにするには、どのような方法を取るのがベストなのでしょうか? また、メモ型にしたとして、検索速度やメモリのことが気になります。 どなたかよきアドバイスをいただけないでしょうか? どういうパーツを使うかだけのおおまかなお話でも構いませんので、よろしくお願いいたします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
> 改行ができないようです 単に改行をいれると、次行以降が見えなくなってしまうようなフォームで作っているからでしょう。 テキストボックスの高さを少し大きくして、スクロールバーを表示させる設定にしてやれば良いだけです。 フォーム全体のデザインがマズイのだと思われます。 また、一つの備考欄に複数の対応内容を書き込むのはお勧めしません。 #1さんが言われるように、対応内容履歴テーブルを別途設けるのも一方法です。 確認しておきたいのですが、 > 顧客の対応履歴を残しているテーブルとフォームがあります。 「対応履歴」と言われていますが、これは「取引履歴」ではないのですか? 顧客Aが「商品○○が欲しい」と言ってきたら、これが1レコードになるのですよね? さらに、この取引に対し、「製造元へ発注」「納品が遅れる」「発送した」など、 同一取引内での進捗が有る都度、レコードが増えていくわけではないですよね。 ご要望は、ひとつの取引の進捗や対応を履歴に残しておきたいという事らしいので、 これこそ「応対履歴」として別テーブルを設けたらどうかとう提案です。
その他の回答 (4)
> いくつものコマに区切ると文字量が多くなったときには表示が隠れてしまうのが嫌だ。 > それをスクロールさせて読むのも嫌だ。 うーむ。 一枚の紙式にしても、長くなればスクロールせざるを得ないでしょう。 とくに、同じフィールに次々に追加する方式だと、なおさらです。 強引にやるとすれば、イメージとしては、 詳細セクションに、個々の対応毎のレコードの日付と最初の一行を表示させ、 別ウインドにポップアップウインドを表示させ、各レコードのリスト部分をクリックすると その内容がポップされるように作るとか... ディスプレイの大きさが問題になるかもしれませんが...
お礼
お礼が遅くなって申し訳ありませんでした。 ありがとうございました。
#3です。 > 顧客の対応履歴を残しているテーブルとフォームがあります。 のテーブルとは、QNo.3557122で言及されているテーブルですか?
お礼
推測されているとおり、QNo.3557122で言及されているテーブルです。 このQについては、分割(独立)させてメインとサブの関係に設計を変えました。 詳細はそちらのQの補足に記します。
- CHRONOS_0
- ベストアンサー率54% (457/838)
改行を入れられればいいみたいですね メモ型でもCtrl+Enterで入力できますよ
- yossy0426
- ベストアンサー率24% (32/130)
どうもです。 今あるシステムには多分キーがあると思いますのでそれがある前提で・・・ メモ書き用のテーブルを1つ追加 フィールド名 キー メモ それを元にフォームを作成 既存のフォームにボタンを追加 必要な時だけボタンを押してメモ用フォームをポップさせる って感じでは駄目ですかね? メインデーターのキーをメモテーブルのキーと同じにすれば良いと思います。 メモを1件に対して1つなら単票形式で、複数のやりとりをメモするなら表形式にすればいいと思います。 たしか改行は”Ctrl”+”Enter”で出来るはずですが 作成者が駄目と言った理由が解からない以上やらないほうが良いと思いますが。
補足
ご回答ありがとうございます。 メモは1件に対して複数のやり取りを記します。 依頼者に表形式を提案してみたのですが、ひとつのやり取りで文字数が変動するので、長くなった場合、表示されていないのは嫌だ、セルごとにスクロールバーでずらすのは大変見づらいから大きなメモ書きみたいなのが良いということで却下されてしまいました。 私からすると後々統計がとりやすい方法などを考えてしまいますが、依頼者の希望するイメージは、ひとつの画面で全てがわかる方法なのです。 教えていただきましたように改行は”Ctrl”+”Enter”で出来ました。 作成者が駄目と言った理由は、「他のアプリケーションに移した場合、書式が乱れ、データ加工に支障をきたすため」とマニュアルに記されていました。 依頼者に確認をすると、このフィールドに限っては他のアプリケーションに移したり抽出には使ったりしないとのことでした。 Access内のレポートに出すときに乱れなければ”Ctrl”+”Enter”で改行しても問題ないでしょうか? よろしかったら教えていただけないでしょうか?
補足
ご回答ありがとうございます。 前任者が作成したマニュアルの中に改行してはならない理由が書いてありました。 「他のアプリケーションへデータを移行した場合、書式が乱れデータ加工に支障をきたすため」 使用者に他アプリケーションにこのやりとりメモを移行することがあるか確認すると、このフィールドに限ってはないとのことでしたので、作成者が危惧した問題は避けられそうです。 よって改行しても大丈夫かな・・・と思っています。 >また、一つの備考欄に複数の対応内容を書き込むのはお勧めしません。 #1さんが言われるように、対応内容履歴テーブルを別途設けるのも一方法です。 そうなんですよ~。素人の私でもさすがにまずいだろうと思って使用者に交渉してみたのです。 が、いくつものコマに区切ると文字量が多くなったときには表示が隠れてしまうのが嫌だ。それをスクロールさせて読むのも嫌だ。一枚の紙で全てを網羅できるのを望んでいるんだ。面倒くさくない方法でやってくれ・・・という答えなのです。 使用者にとっては後々活用できる方法ではなく、自分にとって面倒くさくない方法なんです。 これを黙って受け入れている私にも問題があるでしょうか? >対応履歴」と言われていますが、これは「取引履歴」ではないのですか? だいぶ前から「対応履歴」という名前をつけていたようです。お客様から故障によって問合せが来たら1レコードになります。その問合せに決着がつくまでのやりとりを記録するのが今回設計を変えた「やりとりメモ」のフィールドです。 名称について言うと他のところでもおかしなところがあるんです。 入金確認日というフィールドがあるのですが、これは取引先にお金を支払ったことを取引先と確認しあった日付を入力するものなんです。だったら支払確認日になるんじゃないかと思うのですが、使用者いわく「昔から社内ではこのように言いあっているからこのほうがわかりやすい」なんです。 ようするにフィールドの名称は社内で使いあっている言葉なんです。 やはり使用者のいいなりに設計をしている私にも問題があるでしょうか? 全くの素人なのに、設計の修正のところから入ってしまったので、そういった判断もできずにいます。 よろしかったらずばり指摘をいただけないでしょうか。