• ベストアンサー

Access2007で従業員情報と顧客情報のデータを作り、請求書等を作

Access2007で従業員情報と顧客情報のデータを作り、請求書等を作成しています。 そこで、入力フォームにデータを入力しているのですが、途中で担当者が変わったり、基本情報(住所・電話番号等)するので変わった場合、データを呼び出し、上書きしていっています。 ただし、この上書き作業は各担当者がやってますのでできれば、修正した箇所に色づけまたは、入力Fの背景ごと色を変えたいのです。また、変更年月日も自動的に入力されるようにしたいのですが可能でしょうか。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
noname#182251
noname#182251
回答No.2

#1です。とりあえず >変更年月日も自動的に入力も適当なイベントを利用 フォームに「顧客名」と「変更年月日」テキストボックスがあるとして 1.「顧客名」のプロパティでイベントタブをクリック 2.更新後処理行をクリックして右端に出る「...」をクリック 3.コードビルダを選択 4.一行書き込みで下記のようにする Private Sub 顧客名_AfterUpdate() Me.更新年月日 = Date End Sub 5.フォームを実行し、顧客名に変更を加えてから、他のフィールドに移動した時、更新年月日が書き換えられることを確認 と云うようなことで、如何でしょう。 上書きをしない方法はさほど難しいことではありませんが、説明が長くなります。将来的により安全なDB設計を考える際の、参考にして下さい。

is2069
質問者

お礼

ありがとうございました。 コードビルダーと聞いて、なんだか難しそうだなと思いましたが 無事にできました。 ご丁寧にありがとうございました。 また不可解な質問をしてしまうと思いますが宜しくお願い致します。

その他の回答 (1)

noname#182251
noname#182251
回答No.1

ご要望が良く判りません。 >修正した箇所に色づけ 修正後、どのくらいの期間色づけするのでしょうか?あるいは別のルールで色づけが決まるのでしょうか? >入力Fの背景ごと色を変えたいのです 理解できません。 >変更年月日も自動的に入力 これは適当なイベントを利用すればできるでしょう。 しかし、私ならば上書きせずに、 1.新規レコード追加 2.新規レコードの変更年月日フィールドのディフォルト値を Now() にしておく 3.新規レコードに現在のデータをコピーし、それを修正する 4.旧レコードに「変更済み」等のフラッグをたて、利用しないようにする このようにしておけば、変更履歴も残るし、誤って修正した場合も簡単に元に戻せます。上書きでやると、ご修正の場合、最悪データの復旧ができなくなります。

is2069
質問者

補足

ご回答ありがとうございます。 ご提案いただいた、上書きをしない方法ですが、1画面に1つのレコードが表示されていますので 旧にフラグをたててそのデータをcopyして・・・という作業が少々大変かと思いまして。 まったくの初心者で参考書を片手に調べながらやっとテーブルと入力Fができたので・・。 変更年月日も自動的に入力も適当なイベントを利用すればとご回答いただいたのですが、その適当なイベントがよくわからないのが現状です。 もう少し探してみます。ありがとうございました

関連するQ&A

  • アクセスの顧客管理情報・リレーションが使えますか?

    アクセスデーターベースについて教えてください。 VBA等は、使用した事がありません。 どうぞ、分かりやすくお願い致します。 (ACCESS97を使用しています。) 会社で顧客管理情報を作成しています。 問い合わせのあった会社の 「会社名」、「カイシャメイ(フリガナコントロールで入力)」、「担当者名」、「電話番号」、「FAX番号」、「住所」、「問い合わせの内容」等 をテーブルに作成しています。 入力は、入力フォームで行っています。 また、会社には代理店が存在し、その代理店の「カイシャメイ」、「住所」、「電話番号」、「FAX番号」のデーターが入っている一覧表がテーブルにあります。 ここで、顧客管理情報と代理店一覧の 「カイシャメイ」にリレーションを張って、顧客管理情報をフォームで入力している時に、代理店からの問い合わせの時は、会社名(カイシャメイ)を入力すると自動的に代理店名簿の住所や電話番号等のデーターが入るようにすることは出来ますか? ちなみに、代理店ではなかった時は、自分で手入力してデーターを作りたいのです。 宜しくお願い致します。 m(__)m

  • 顧客データの作り方を教えてください

    顧客データを作りたいのですが 内容としては (1)顧客の基本情報の一覧であり、その中の顧客一人の名前をクリックするとその顧客の詳細情報のデータにとぶようにしたいです (2)基本情報や詳細情報の入力する項目は決まっているので「入力フォーム」を使いたいです エクセルでできますか?アクセスのほうがいいでしょうか?

  • 顧客情報のデーターをレポートにすぐ反映させる方法

    会社で顧客管理のデーターベースを皆で共有ファイルで入力しています。 フォームで顧客情報を入力しています。このデータを使って、FAX送信用紙を印刷させていますが、すぐデーターが反映されません。一度別の場所(私の場合は別のフォーム)に移動してから、戻るとデータが保存されています。これを、すぐ反映するにはどうしたら良いのでしょうか? 分かる方、教えてください。 Access97を使用しています。・・・・Accessの初心者です。 宜しくお願い致します。

  • access 登録したデータを修正するフォーム

     accessで、データを登録するフォームを作成しました。次にそのデータを修正をするフォームを作成しようとしましたが、うまくいきません。 私の考えた修正方法例 1、「検索フォーム」を作成し、「登録ID」を入力させる。 2、クエリを利用し「登録ID」で抽出する。 3、クエリで得た修正対象のデータを「修正フォーム」に表示させる。 しかしこの方法では、「修正フォーム」を”閉じる”事と”修正(上書き)”が同時になってしまいます。(「修正フォーム」を開いて、間違えた入力をしてしまった場合、後戻りができない。) どのような手順で登録したデータの修正を行えばよいのでしょうか?

  • 顧客データの結合

    タイトルのとおりで、顧客のデータを結合したいと思っているので、よろしくお願いします。 現在、複数店舗にて顧客情報をネットワークなどで共有せず、店舗・店舗で個々に顧客情報を作成しております。 しかし、店舗毎の顧客情報だと、お客様にも「また新規で登録するの?」などの不満もあり、 また管理する側も重複してしまう顧客の情報が多々あったりし、管理の方が大変になってしまいました。 顧客情報は顧客管理ソフトやその他ソフトなど店舗ごとで違うソフトを使っているのですが、 業者に頼んで結合するのではなく一旦エクセルなどにデータをエクスポートし、なんとか顧客情報の一元化が出来ないかと思っております。 ※各店舗の顧客データは  ・名前  ・住所  ・電話番号  ・性別  ・生年月日  ・売上履歴  ・来店履歴 などのデータがあります。 通しの番号などはないので、名前などで同じ人の情報を1つにまとめたいと思っております。  ファイルA  [名前] [生年月日] [売上履歴] [来店履歴]  [担当]   鈴木  2月1日   3000円   1月1日   山田 田中  3月1日   2000円    1月3日   山田  ファイルB  [名前] [生年月日] [売上履歴] [来店履歴]  [担当]   鈴木  2月1日   5000円   12月22日   木村 太田  5月1日   2000円    1月3日   木村 このようなファイルがあるとして、鈴木の「売上履歴」「来店履歴」 「担当」など項目が同じで、内容が違うデータも結合をし、一つの項目に多数のデータをと思っております。このような結合は可能でしょうか? あまり、このようなことをしたことがなくわからなかったので、質問をさせていただきました。 わかる方がいらっしゃったら、回答のほど、よろしくお願いいたします。

  • ACCESS 顧客データを表示したいのですが…?

    独学でACCESSを勉強している者です。行き詰ってしまったので、ご協力ください。 顧客データと、受注日や受注経路などを入力するデータベースを作っています。 顧客データは50件くらいで、IDを打ち込めば名前や電話番号が出てくるように表示したいのですが、一行にずらっと出てくるので見づらい表にしかなりません…。 フォームなどで、IDを打ち込めば、 ※ID:◇◇◇ 店舗名 :□□□ 電話番号:○○○ ※発注日 :○/○ ※受注経路:ネットから。 (※の部分だけ入力するフォームにしたい) などと縦に表示される(複数のボックスの表示を一律で変える)方法はありますでしょうか…? よろしくお願いいたします。

  • エクセルVBAでテキストボックスに入力があった場合のみ、ワークシートに転記したい

    現在顧客名簿シートがあり、修正フォームから顧客情報を修正できるようにマクロを組んでいる最中です。  例えば、textbox1→氏名、textbox2→生年月日、textbox3→住所、としていて、住所のみ変更情報を入力し修正ボタンをクリックすると氏名、生年月日が未入力のため顧客名簿の氏名、生年月日が消えてしまいます。  このような場合、入力がないtextboxのシート転記プログラムを飛ばす、若しくは入力があるtextboxのみシート転記を実施する方法を教えてください。

  • access フォーム間で情報が引き継がれない

    初心者です、よろしくお願いします。 仕様環境 WinXP Access2002 請求管理のシステムを作っています。 テーブルには 顧客マスタ(主キーは顧客番号でテキスト型 例:0001等) 請求マスタ(主キーは請求番号でテキスト型 例:A0001等) 明細マスタ(主キーは明細番号でオートナンバー ダミーみたいな感じで使っています。) そしてリレーションシップで顧客マスタ(1)→(多)請求マスタ(1)→(多)明細マスタになっています。 顧客マスタを元にしたフォーム(顧客入力フォーム)に顧客情報を入れて、 「請求書作成ボタン」を作り、そのボタンを押すと別のフォーム(請求書作成フォーム)に 飛ぶようにしているのですが、その際に顧客入力フォームに入力した情報を 引っ張っていくようにしたいのですが、うまくいきません。 ちなみに顧客マスタと請求マスタのリレーションは”顧客番号”でつなげています。 請求書作成フォームは請求書作成クエリから成り、 その中で顧客番号(テーブル:顧客マスタ)の抽出条件に[Forms]![顧客入力フォーム]![顧客番号]と 入れて”顧客番号つながり”で飛ぶようにしているのですが、 請求書作成フォームは開くのですけど、項目はすべて空白です。 またいろいろレコードを追加している内に、請求番号が既にあるものに対しては顧客情報も引き継がれることが判明しました。 構文が間違っているのでしょうか? 混乱しています、お助けください。

  • EXCELで顧客情報抽出したい

    こんばんわ。 EXCELで顧客の抽出をしたいのです。 具体的にいうと名前、住所、生年月日の一覧をつくり 一番上の業に検索したい顧客の名前を入力すると 住所と生年月日を表示させたいのです。 INDEXかVLOOKUPと思っておりますが、簡単な 方を教えてください。

  • Accessでの顧客管理DB作成方法について

    Accessの中では非常に基本的な事ですので恐縮ですが、実際にデータベースを作成していて上手くいかないものでアドバイスをいただければ助かります。 使用バージョンは未だにAccess97です・・・ 2つのテーブルを使用して顧客の管理を行おうと考えています。 1つめのテーブルは「顧客情報」 2つめのテーブルは「保有商品」 といったもので 「顧客情報」テーブルには「顧客番号」「顧客名」「顧客住所」 「保有商品」テーブルには「購入日」「購入商品」 をまとめたいと思います。 入力フォームには --------------------------------------------------- 「顧客情報」テーブル 「顧客番号」「顧客名」 「顧客住所」 --------------------------------------------------- 「保有商品」テーブル 「購入日」「購入商品」 「購入日」「購入商品」 --------------------------------------------------- といった単票形式の1つのフォームで作成を考えています。 上記のデータベースを作成するにあたって効率的なリレーションシップやクエリーなどをご教授していただけませんでしょうか。 よろしくお願いいたします。