• 締切済み

Accessでの設定について

 データベースソフトAccessを用いて、以下の用件を設定するにはどのようにフォームを設定したら良いか教えて下さい。 例)社員テーブルが、社員マスターID(オートナンバー型)、管理番号(テキスト型)、氏名(テキスト型)、時給単価(通貨型)で作成されている場合。  管理番号を入力すると、データ(氏名や時給単価)を呼び出すことができるようなフォームを作成するには、どのように設定したらよいのでしょうか? 教えて下さい。

みんなの回答

  • kosamon
  • ベストアンサー率47% (11/23)
回答No.3

>何度か上記の記載どおりに試してみるのですが、うまくいきません。 こちらでは、投稿前にきちんとテストしているのできちんと動くはずなのですが・・・。それとも私のほうが的外れな回答しているのでしょうか? どううまくいかないのか、またどの時点まではうまくいっているのかを明確にして頂かないとアドバイスのしようがありません。 クエリなどの概念は理解されていますか?

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

>管理番号を入力すると、データ(氏名や時給単価)を呼び出すことができる 管理番号というのは社員一人にひとつ与えられているものなんですか? だったら社員マスタIDというのは要らないですね じゃなくて社員マスタIDでないと社員を特定出来ないのであれば 入力するのは管理番号でなく社員マスタIDになります で、特定のレコードを呼び出すだけなら特別なことをしないでも フォームを作れば検索やフォームフィルタの機能がはじめから作りこまれています 詳しくはヘルプを見てもらうこととして 検索→双眼鏡の絵のボタン フォームフィルタ→フォームの絵のボタン 選択フィルタ→漏斗の横に稲妻の絵のボタン

  • kosamon
  • ベストアンサー率47% (11/23)
回答No.1

おそらく、単票フォームでの作成になろうと思いますが・・・。 まず、そのテーブルを基にクエリを作成します。 そのクエリの社員IDの抽出条件に [Forms]![FormA]![社員ID] とします。 次に、そのクエリを基にフォームを作成します。 そのフォームのヘッダー部分に「非連結」のテキストボックスを1個 配置させます。名前を「社員ID」とし、更新後処理に Me.Requery と記述します。 一旦フォームを閉じて「FormA]として保存。 そのフォームを再度開き、社員IDにIDを入力して「エンターキー」 で希望通りの結果を得ることができるはずです。

tatigami_001
質問者

お礼

 早速の返事ありがとうございました。 Access初心者なもので、少し質問の内容が分かりにくかったと思います。何度か上記の記載どおりに試してみるのですが、うまくいきません。

関連するQ&A

  • Access2003で質問

    (1)テーブルで「氏名」、「住所」のデータベースを作成。 (2)フォームで「氏名」、「住所」のテキストボックスを作成 (3) (2)で作ったフォームで(1)で作ったデータベースを表示させたい のですが、(2)のテキストボックスで「#Name?」と表示されてしまいます。 (1)で作ったデータベースを(2)で作成したテキストボックスに表示させ方を教えてください。

  • ACCESS 商品毎の最新の単価を設定するには?

    ACCESS 商品毎の最新の単価を設定するには? 既に運用しているデータベースで不具合があり、以下のようなクエリを作りたいと考えていますが、データベースを作成してからかなり時間も経ってしまっており、自力で形にすることができません。 お知恵をお借りしたいと思いますので、よろしくお願い致します。 1.テーブル構成 [T_商品マスタ]--商品IDでリレーション設定--[T_単価マスタ] T_商品マスタのフィールド 商品ID(キー/数値型) 商品名1(テキスト型) 商品名2(テキスト型) 商品分類ID(数値型) 定価(通貨型) 取扱中止(Yes/No型) 販売単位(テキスト型) 備考(メモ型) T_単価マスタのフィールド 価格履歴ID(キー/オートナンバー) 商品ID(数値型) 仕入単価(通貨型) 仕入先ID(数値型) 販売単価(通貨型) 変更日(日付/時刻型)…Now()にて変更を入力した日付及び時刻を記録しています。 [Q_商品最終単価]…現在運用していますが、仕入単価及び販売価格が[T_単価マスタ]の最新のものにならない不具合が生じています(クエリ内の集計で"最後"を使用していますが最後=最新ではないとか、、、) クエリ内で設定している項目 商品ID 商品名1(単価を登録する度に変更することは禁止) 商品名2(単価を登録する度に変更することは禁止) 仕入単価(変更の度に[T_単価マスタ]の仕入単価欄に単価を入力して更新) 販売価格(仕入価格を入力するとフォーム上で自動計算) 変更日(仕入価格を入力した日時) クエリ時のイメージ 商品ID  商品名1  商品名2  仕入単価  販売単価  変更日 0001   うどん   稲庭    100     200     2010/01/01 10:10:16 0002   うどん   讃岐    150     300     2010/01/25 11:12:50 0003   そば    十割    200     400     2009/12/15 15:30:10 . . . 伝票入力時にこのクエリを用いて商品IDを入力することで、最新の単価を呼び出すようにしていたつもりでしたが、集計クエリの"最後"に信頼性が無いことがあるそうで、必ずしも最新の単価になっていないと発覚し冷や汗をかいております。 Q_商品最終単価の項目はそのままで、商品ID毎に最新の変更日に基づく最新の単価をクエリできる方法をご教授願います。

  • ACCESS コンボボックスの表示内容を入力項目にしたい

    Accessの回答履歴を調べたのですが、結局わからなくて質問させて頂きました。お願いします。 入力したいデータ(口座管理情報)があります。 項目は社員番号、氏名、銀行口座 社員マスターがあるので、社員番号はコンボボックスにして選択できるようにしたいと思ってます。 社員番号をコンボボックスで選択すると、社員マスター上の氏名を口座管理情報の氏名に設定したいのですが、どうすればいいのでしょうか? また、口座管理情報入力の画面は表形式にして連続で入力させたいと思っています。 各行に単純にテキストとしてコンボで選んだ社員の氏名を表示させる事は出来るのですが、入力項目に設定する方法がわかりません。

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

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

  • Accessのフォームで

    教えてください。下のようなテーブルがあり、これを元にフォームを作成したいのですがいい方法が見つかりません。 【テーブル】  品物テーブル(品物ID、品物、製作所)  社員テーブル(品物ID、社員コード、氏名) このテーブルを元にして下のようなフォームを作りたいのです。 【フォーム】  品物ID [テキストボックス]  品物 [テキストボックス]  製作所 [テキストボックス]  社員コード [テキストボックス]  氏名 [テキストボックス]  社員コード [テキストボックス]  氏名 [テキストボックス]  社員コード [テキストボックス]  氏名 [テキストボックス] ※社員コード、氏名が3つあるのは、同じ品物を3人が作成することがあるため。(この部分で悩んでいます) このようなフォームを作ることは可能でしょうか? また参考になるようなサイトなどあれば教えてください。 よろしくお願いします。

  • Accessで複数条件分岐。

    T_マスタ(テーブル) ・年度 ・社員番号 ・社員氏名 ・所属 ・備考 T_社員一覧(テーブル) ・社員番号 ・社員氏名 ・所属 となっています。 F_マスタというフォームで、 社員番号を入れたら、自動で社員氏名と所属が入るようになっています。 そこで簡単なチェックをしたいのです。 今までは、入力された社員番号が、すでにT_マスタの中に入ってれば 「すでに入力されています」と表示し、それ以外だったら、そのまま入力するように しました。 現在の希望は、入力された社員番号が、すでにT_マスタの中に入っていて、 なおかつ、年度も同じだった場合は、「すでに入力されています」と表示し、 それ以外の、社員番号は一致するが、年度は一致しない場合や、どちらも一致しない 場合はそのまま入力できるようにしたいのです。 どのようにしたらいいでしょうか? ちなみに今までは、 If IsNull(DLookup("社員番号", "T_マスタテーブル", "社員番号 = " & CLng(Me!社員番号.Text))) Then Me![社員氏名] = Me![社員番号].Column(1) Me![所属] = Me![社員番号].Column(2) Else MsgBox "すでに入力されています。" End If こんな感じでした。 よろしくお願いします。 Ac2000です。

  • Access2007のフォームの表示が広がってしまう

    Access2003を使用し社員管理のデータベースを作成しました。 この社員管理データベースでは、社員を表示する際にフォームを左右に表示させるように設定しています。 左のフォームでは、社員一覧を縦長のフォームで作成し右側では、その詳細を表示するようにしています。一覧表で該当する顧客をクリックすると詳細フォームでその社員の詳細が表示されるようにしています。 フォームを並べて表示させることがAccess2003では、特に問題は無かったのですが、Accessでこの並んだフォームを開くと左右のフォームが横長に広がりさらに重なって表示されています。 Access2007でフォームの表示を固定させる方法はないのでしょうか? よろしくお願い致します。

  • ACCESSの更新に関して

    初歩的な質問で申し訳ありません。 教えて下さい。 社員マスタテーブルと評価テーブルが以下の項目で存在しています。 《社員マスタ》  社員マスタ、氏名 《評価テーブル》  社員マスタ、評価 上記内容をフォームを使って、社員番号、氏名、評価 という項目を 表示させ、社員番号が存在するまで評価を手入力するというような仕掛けを考えています。 表示は参照クエリで社員番号をキーにして、両テーブルを結合させ、行う事はできるかと思いますが、データの入力を行う事ができない為、何か良い方法がないか?と考えています。 どのような手順が良いのかを教えて頂きたいと思います。 VBAで組まなくてもできるでしょうか・・・。 よろしくお願いします。

  • ACCESSについて質問させてください。

    ACCESSの勉強中の者です。 現在,基礎的なデータベースファイルを作成し「顧客マスター」というフォーム上に「顧客番号」,「顧客氏名漢字」,「顧客氏名ふりがな」,「顧客職業」というテキストボックス等を配置しています。 このフォーム上に新たに「顧客氏名」というコンボボックスを配置して,「顧客氏名漢字」,「顧客氏名ふりがな」に入力済みのデータからコンボボックスのデータを選択できるようにしたいと思っています(※例えば,テキストボックス「顧客氏名漢字」欄に「山田太郎」,テキストボックス「顧客氏名ふりがな」欄に「ヤマダタロウ」と入力されているのであれば,コンボボックス「顧客氏名」欄には「山田太郎」,「ヤマダタロウ」から選択させる。)。 コンボボックスのプロパティのコントロールソース(又は値集合ソース,値集合タイプ)の記述でなんとかできるものでしょうか?それともVBAが必要なのでしょうか? 方法があるのであれば,その方法は問いませんのでどなたかご教示いただければと思います。 よろしくお願いいたします。

  • Access2002 フォームからのレコード入力の成功/不成功

    いつもお世話になっております。 早速ですが、従業員マスタテーブルがあり、それを元に従業員の情報を入力するフォームを作成しました。 従業員マスタテーブルは、「社員番号」だけをキーにしています。 例えば、新入社員のデータを、完全に新規に入力する場合、うまく行きます。 また、すでにいる社員の、「社員番号以外」のフィールドを更新することもできます。 しかし、社員番号が既存のものとかぶるような新規登録、あるいは情報変更に関しては、入力用フォーム上では正常終了したように見えますが、実際の従業員マスタテーブルをチェックしてみると、変更はされていません。 ですので、フォームしか触れないユーザは、自分の変更、新規追加がうまく行ったのかどうか、テーブルが見られないのでわからない、という状況になっています。 仕様要求としては、新規であれ、情報変更であれ、既存の社員番号に重なる場合はメッセージボックスで「更新失敗」を表示したいのです。 If Exist・・・のような分岐を情報を入力するフォームの「閉じる」ボタンの裏に設けたいのですが、やり方がイマイチわかっておりません。 ご存知の方がいらっしゃれば、ご教授、よろしくお願いします。 --------------------------------------------------------------- <従業員マスタ> ・社員番号・・・テキスト ・氏名・・・テキスト <仕様要求> 社員番号「0001」と「0002」の社員が存在する場合・・・ ・情報入力画面で、「0001」の社員の社員番号を「0002」に変更しようとすると、エラーメッセージ表示 ・新規情報入力(新入社員など)の際、社員番号が「0001」や「0002」の社員として登録しようとすると、エラーメッセージ表示 以上、お時間のあるときによろしくお願いします。

専門家に質問してみよう