• ベストアンサー

フォームでの自動入力

Access2002を使用していますが、フォームでの自動入力につき質問させてください。 勘定科目テーブルというのがあって、コード番号と科目名だけの簡単なテーブルですが、会計取引入力のフォームを作成して、「コード番号を入力したら(勘定科目テーブルを参照して)該当する科目名を別のフィールドに自動表示&入力する」、という処理を行いたいのですが可能でしょうか? Excelのlookup関数のようなものですね。 どなたか教えてください。

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

  • ベストアンサー
  • Nii
  • ベストアンサー率48% (79/162)
回答No.1

フォーム上にテキストボックス、コード番号・科目名の二つを作成して下さい。 方法1 コード番号を入力(更新)時に、勘定科目テーブルを参照して科目名のフィールドに値を設定する場合。 コード番号の更新後処理(AfterUpdate)にモジュールを記入 me.科目名 = Dlookuo("科目名","勘定科目テーブル","コード番号 = " & Forms!フォーム名.コード番号) ※フォーム名は保存したフォーム名にして下さい。 方法2 コード番号をコンボボックスで作成し、値集合ソースに勘定科目テーブルを指定する。 科目目のコントロールソースに=[コード番号].[Column](1)と設定する。 必要に応じて、列数・列幅・リスト行数あたりを調整して下さい。 以上、ざっとですが

関連するQ&A

  • MS Access 入力フォーム:自動採番

    Access2013での自動採番に関して2パターン教えて下さい。 質問(1):"顧客番号"の自動採番 【テーブル名】 顧客情報 【フィールド】 "顧客番号"、"顧客名"、"顧客名かな"、"顧客住所"、"電話番号"、"担当者"、"メール"・・・ <"顧客番号"の採番方法> 顧客名の頭文字を五十音順の「あかさたな」で行ごとに連番をつけて管理している。 例)) 「ABC商事」→エービーシーしょうじ→「あ‐01」 「東京印刷」→とうきょういんさつ→「た-01」 《やりたい事!》 入力フォームに新規で、「東西工業」を入力する際に "顧客名かな"を入力したら、"顧客番号"が自動的に採番されるようにしたい。 顧客名:東西工業 顧客名かな:とうざいこうぎょう 顧客番号:た-02 ←ココを自動採番にしたい ------------------------------------------------ 質問(2)"取引番号"の自動採番 【テーブル名】 取引情報 【フィールド】 "顧客番号"、"取引番号"、"顧客名"、"顧客名かな"、"住所"、"電話番号"、"担当者"、"メール"・・・ <"取引番号"の採番方法> 取引が発生した順で、"顧客番号"ごとに枝番をつけて管理している。 例)) 「ABC商事」→1/10の取引→"顧客番号":あ‐01、"取引番号":01 「ABC商事」→1/31の取引→"顧客番号":あ‐01、"取引番号":02 《やりたい事!》 入力フォームに新規で、「ABC商事」の2/15の取引情報を入力する際に "顧客番号"を入力したら、"取引番号"が自動的に採番されるようにしたい。 顧客名:ABC商事 顧客番号:あ‐01 取引日:2016/02/15 取引番号:03 ←ココを自動採番にしたい 説明がうまくできず、分かりにくいかとは思いますが 何とかお知恵をお借り出来れば助かります。 よろしくお願い致しますm(__)m

  • アクセスフォームのデータ入力

    教えてください。 アクセス2000で銀行残高管理DBを作っています。 データ入力用フォームで次のフィールドがあるとします。 (1)支払先(2)借方科目名(3)貸方科目名(4)金額(5)摘要 1)同じフォームで複数行のレコードを入力できるようにしたいのですができますか? たとえば5行くらいです。  2)同じ科目の取引が何回も続くような場合に、実行キーを押すと前の行の同じフィールドのレコードを自動的に入力させることはできますか? 以上、ご指導お願い致します。

  • AccessのフォームのテキストボックスにLOOKUPで表示したい

    かなり初心者です。 Accessに【顧客テーブル】と【担当者テーブル】を作成しました、それぞれに【担当者コード】というフィールドを作っています。この【顧客テーブル】に顧客情報をフォームで入力していきたいのですが、顧客テーブルの【担当者コード】フィールドに担当者コードを入力した際、【担当者テーブル】の担当者名がExcelのLOOKUPと同じように表示できると思ってやりましたがうまくいきません。 テキストボックスのコントロールソースに =VLOOKUP([担当者コード](フォームのテキストボックスの名前),[T_担当者テーブル],[T_担当者テーブル]![社員名])・・・と入れたら、#Name?エラーが出ます。 Lookupは使えませんか?他に方法ありますか? よろしくお願いします。

  • Access97で自動入力と反映が違うテーブルの場合

    こんにちは、前の質問などでフォームへの自動入力は何とかできるようになったのですが、今度はその入力したデータを他のテーブルBに反映させたいのですが、どうしたら良いのでしょうか? テーブルA 店舗コード 店舗名 ※テーブルAの管理者は私ではなく、ネットワークで私のPCと「テーブルのリンク」でつながっています。 テーブルB 店舗コード 店舗名 商品番号 他に店の情報フィールドをいくつか作成 フォームC 店舗コード 店舗名 商品番号 他に店の情報テキストボックスをいくつか作成 フォームCで、店舗コードを入力したら店舗名が自動的に入力される方法は、フォームCのレコードソースをテーブルAにして、店舗コードの更新後処理をイベントプロシージャにして、下記イベントコードを設定しました。 Private Sub 店舗コード_AfterUpdate() Me![店舗名]=DLookup("店舗名","テーブルA","店舗コード=" & Me![店舗コード] & " ") End Sub そして、フォームの残りのテキストボックスに、店と商品に関するデータを入力し、入力した全てのデータをテーブルBに反映させたいのですが、どうしたら良いのでしょうか? 自動入力の方法でDLookupを使用したのがいけなかったのでしょうか? また、できればテーブルBは商品番号順に並びかえられているのですが、入力したら商品番号のリストの一番下に挿入されるという形にしたいのです。 どうかよろしくお願いします。

  • Access2000で、コンボボックスの値から自動入力させる。

    http://oshiete1.goo.ne.jp/kotaeru.php3?q=140115 の回答を参考に、自分なりに変更させてやってみたところ、変な結果になってしまいました。 今現在の状態としては、 「支払先テーブル」というものがあり、 No  支払先名1  支払先名2 というフィールドがあります。 また「フォーム1」というフォームがあり、 そちらには 支払先No  支払先名1  支払先名2  テキスト1 というフィールドがあります。 フォーム1の支払先Noはルックアップになっていて、選択すると、「支払先テーブル」のNo・支払先名1・支払先名2のすべてが出てきて、どれかを選ぶと、Noが出るようになっています。 希望としては、上記に書いた、フォーム1の支払先Noで、選択すると自動で支払先名1、支払先名2に自動で入力されるようにしたいのです。 一番最初にもかいたように、参照ページをみながらやったので、ためしに、新しいフィールドをフォームに作成しました。(テキスト1) こちらのコントロールソースに =DLookUp("支払先名1","支払先テーブル","No"=[Forms]![フォーム1]![支払先No]) と入力して、実行したところ、「支払先No」が空欄の場合だけ、一番最初の「支払先名1」が出てきて、支払先Noが入っているところは空欄になってしまいました。 一体どこが間違っているのでしょうか? よろしくお願いします。

  • ACCESS フォームの入力で

    フォームの入力でコード番号を入力すると項目が自動入力出来るようにしたくて 2つ目のテキストボックスのコントロールソースに=DLookUp("[商品名]","テーブル2","[商品コード] = [コード] ")と入力したのですが 1つ目のテキストボックスに入力すると そのときは2つ目のテキストボックスは白紙で 一度フォームを閉じてから立ち上げると2つ目のテキストボックスにも入力されています。 これは閉じないと入力されないのでしょうか? 1つ目を入力した後に表示されるようにしたいのですが・・・。 よろしくお願いします。

  • アクセスの自動入力フォームに手動で入力したい

    初心者ですが、ネットで調べながらaccess2013で、納品書フォームを作りました。 納品書明細テーブルと商品マスタテーブル(商品コード、品番、単位)を納品書明細クエリで紐づけしてフォームを作成しました。商品コードを入力すると、自動的に品番と単位が入るようになっています。 ここで、商品コードがついていない商品(商品マスタに含まれず、今後登録する予定もない)も品番と単位の欄に手動で入力できるようにしたいのですが、可能でしょうか。 今手動で入力すると「フィールド'商品コード'とキーが一致しているレコードをテーブル'商品マスタ'で探すことができません」とエラーが出てしまいます。 ご教示いただけましたら幸いです。よろしくお願いいたします。

  • AccessのフォームのテキストボックスにLOOKUPで表示したい

    かなり初心者です。 Accessに"顧客テーブル"と"担当者テーブル"を作成しました。この顧客テーブルに顧客情報をフォームで入力していきたいのですが、顧客テーブルの担当者コードフィールドに担当者コードを入力した際、担当者テーブルの担当者名がExcelのLOOKUPと同じように表示できると思ってやりましたがうまくいきません。 テキストボックスのコントロールソースに =VLOOKUP([担当者コード],[担当者テーブル]![社員コード],[担当者テーブル]![社員名])・・・と入れたら、#Name?エラーが出ます。 Lookupは使えませんか?他に方法ありますか? よろしくお願いします。

  • アクセス2010 操作方法について

    こんばんは、アクセス2010の操作方法について教えてください。 【やりたいこと】 フォームで、コンボボックスから社員名を選択した際、その選んだ社員名に該当する「社員番号」を、隣に作ったテキストボックスに表示させたい。 テーブルは「基礎データ」と「入力用」の2つがあります。 「基礎データ」のフィールドには、(1)社員名 (2)社員番号(主キー) 「入力用」のフィールドには、(1)社員名 (2)社員番号 (3)記録があります。尚、(1)の社員名はルックアップで「基礎データ」の社員名を参照しています。 「入力用」のテーブルから、フォームを作成しました。 このフォームで(1)社員名をコンボボックスから選択した際に、(2)に該当する社員番号を表示させたいのです。 ※勉強を始めて日が浅く、いろいろ調べていますが思うように進まず、解決ができないので質問しました。 わかりにくい所もあるとは思いますが、ご指導をお願いできたらと思います。 よろしくお願いします。

  • 主キーが二つないと、フォーム入力が思ったようにできないのか?

    こんばんは。 従業員の出入りが激しいため、従業員の入社時の「志望動機」と 「退社理由」をデータベースで残して 分析しようという試みのため、 入力用にフォームを作ったけどうまくいきません。 (1)社員基本情報テーブル(主キーは、社員コード。フィールドは、社員コード、氏名、入社日、退社日、部署) (2)入退社テーブルを新規に作成(主キーは社員コード。フィールドは志望動機、退社理由) (1)、(2)を社員コードで結合してクエリを作成しました。 このクエリを元に、フォームを作成しました。 こちらで作成したいフォームのイメージは 社員コードを入れると、氏名と部署、入社日、退社日が自動的に参照。 あとは志望動機と退社理由を入れる。 ところが、実際には 社員コードを入れても自動的に参照は行われず、ただ、一度フォームを閉じてもう一度開けるとそこには上記データが参照されてきます。 ちなみに、(2)で主キーを社員コードと志望動機の二つにすると うまくいったのです。 うまくいった理由も分からないですし、うまくいかなかった理由も分かりません。 これは何がどう悪くてこのようになっているのでしょうか?