• ベストアンサー

Access2000のフォームで番号を入力するとその他の情報が表示されるようにするには?

入力フォームで番号を入力すると、名前などが同じフォームに表示される。 というのを作っているのですが。 テーブル1:ID・番号 テーブル2:番号・名前など(エクセルとリンク) クエリーで番号を1→2と繋ぎ、番号はテーブル2を使用。 (1)テーブル1が空欄だと何も表示されない。 (2)テーブル1に入力すると表示されるが、フォームで番号の入力はできない。 (3)新しいレコードも作製できない。 数年前に似たようなものを作った筈なのですが、そもそも出来ないのでしょうか。 宜しくお願いします。

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

  • ベストアンサー
  • saru2002
  • ベストアンサー率29% (56/189)
回答No.1

状況がいまいちなので、もし自分で作るならと言う前提で・・・。 ケース(1) Accessのフォーム上にテキストA、テキストBを作り テキストAに番号を入力するとテキストBに名前などを表示するように 作ればいいのかな?って思いました。 上記の場合、テキストAのAfterUpdateにDlookup関数でテキストBに 表示するようにすれば良いと思います。 この時、テキストAにはテーブル1のデータのみ表示されるようにします。 そしてテキストAもBもコントロールソースは空白にしておきます。 そうするとテーブルの中身が書き換えられることはないです。 ケース(2) サブフォームを使う フォームにテキストAをおき サブフォームにテキストBなどをおいて、フォームとサブフォームは 番号でリンクします。 テキストAにはテーブル1のデータのみ表示されるようにします。 これも同じくコントロールソースは空白にしておきます。 もしかしたら考えてる趣旨と違うかも知れませんので^^;

manamana999
質問者

お礼

お礼が遅くなってすいません。 ケース(2)で出来ました。 やはり、クエリで繋ぐだけでは出来ないのですね。 ありがとうございました。

関連するQ&A

  • ACCESS2000のフォームからの入力でデータが上書きされる

    書類の受付簿を作成しました。 ユーザー1件ごとに受付日を入れると 規則性無く、時々入力したはずの日付が 前のレコードに書き込まれてしまいます。 内容としては【テーブル】 ユーザーテーブル(約2000件) 受付簿テーブル(3種類をそれぞれmm/ddで) ユーザーでは無くなった退会テーブル(Yes/No) 3つのテーブルで管理しています。 【クエリー】 日付入力をするためにクエリーを1つ作成 しました。上記3つのテーブルの合体させたもの。 それぞれのテーブルはユーザーIDでリレーションし ました。 【フォーム1】→これで入力するとおかしくなる ユーザーIDで検索し、ユーザー名が表示されたら 3項目ある受付枠に日付を入力する画面 フォームビューで作成 【フォーム2】 同じクエリーをデータシートビューで表示させ 検索機能なしで、直接ユーザーIDの該当枠に入力 する画面 を作成しました。フォームビューで作成したフォーム 1で入力したときに、どういう規則性があるか まったく判らないのですが、1件前のユーザーIDに セットされ、入力したはずの部分は空欄になって しまいます。 また、この現象に関連するのでしょうが、すでに入力 されていた日付が、消えてしまう現象もおきます。 何が原因でこのような現象になっているか、まったく 検討がつきません。どこら辺を、チェックしたら 良いか、回答をお待ちしています。

  • アクセスでフォームから入力した後に残らないくなりました。?

    アクセスでフォーム入力した後今までは最後のレコードに残っていたのですが、突然消えてしまうようになりました。一旦登録はされるのですが、そのフォームを閉じると表示されません。この現象はフォームだけで、テーブルやクエリにはきちんと表示されるのです。どこか変なところを触ったのでしょうか?どなたか教えてください。よろしくおねがいします。

  • access フォームで情報表示かつ、データ入力業務について

     accessのフォームでデータ入力業務の場合について。  作成者が退職しており、システムにどうしても理解できない所があり、ご教授願います。  現状、お客様の情報表示(社名、住所等)かつ、お客様に関する調査結果のデータ入力を1つのフォームで表示させています。サブフォームは使用しておりません。  疑問点は、IDをテキストボックスに手入力し、エンターキーを押すと、お客様情報が表示されるという仕組みです。検索ボタン等はありません。それらしき記述もありません。 テーブル1・・・ID、お客様情報  テーブル2・・・ID、調査結果 テーブル3・・・上記全情報の保存用テーブル 選択クエリ・・・テーブル1+テーブル2(IDで結合)(IDは、テーブル2のものを使用) フォーム・・・クエリを基にしたもの。 ・テーブル1は完全にユニークなデータです。 ・テーブル2は調査結果の保存テーブルではなく、「サブフォームを使う事無く、既知の情報表示とデータ入力を1つのフォームで表示できる」ようにする為の、言わば「ダミー」のようなテーブルと思われます。テーブル2に事前に情報入力はしません(フォームで入力する事になります)。またテーブル2を後々参照する事もありません。 ・テーブル3は最終的な保存先です。フォームにはその為の保存ボタンがあります。その際にはADOを使っているようです。(ここらへんは今の私の知識の限界です。)  例えば新規IDをテーブル1に作成します。テーブル1にはデータはありますが、テーブル2にはまだ存在しない状態です。この時点で、その新規IDを抽出条件に、このクエリを実行すると、1行だけ抽出されます。普通に考えれば「抽出結果は0件」ではないかと思うのですが・・・。  新たにシステムを構築する為、この仕組みがどうしても必要なのです。  お願いします。

  • ACCESS2000の帳票フォームでテキストボックスの入力値を取得したい

    こんにちは。ACCESS2000でツールを作成しています。 テーブルはExcelにリンクさせ、クエリを介して帳票フォームで データを表示しています。 帳票フォームのレコード毎にテキストボックスを追加して それぞれ入力できるようにし、その値をVBAで取得したいのですが どうすればよいでしょうか。 テキストボックスを追加して実行すると、一つのテキストボックスに 入力した値が全てのレコードに反映されているようです。 帳票フォームのしくみがよく分かりません。 どなたか教えていただけないでしょうか。 宜しくお願いします。

  • アクセスでテーブル入力用のフォームを他のテーブルのレコードを参照しながら入力するには

    こんにちわ アクセスでテーブルのレコードを作成するのに 他のテーブルのレコードを引っ張ってきて フォーム上で表示したいのですが うまくいきません たとえば、社員名テーブル(従業員番号と名前) 配属テーブル(従業員番号と営業所コード) 支社テーブル(支社名と営業所コードの上2桁) 営業所テーブル(営業所名と営業所コード)を作成しておきます 退職者が出るたびに 退職者テーブル用のフォームに 従業員番号を入力すると フォーム上にその人の名前・支社名・営業所名が表示され それを確認してから その他のデータをその同じフォームに 入力したいのです 今、試しに作ったのは テーブルに一度上書きしないとデータを引っ張ってこないの不便なのです よろしくお願いします

  • Access フォームの表示順をなおしたい

    いつもお世話になっています。 Access フォームを利用していたのですが、テーブルの既存データを更新してから、そのフォームでのデータ表示順が変わってしまいました。 レコードにはIDとして番号データがあるので、小さい順にフォームに表示させたいと思います。 ちなみに、元となるテーブルはID番号が小さい順に並んでいます。 よろしくお願いします。

  • ACCESS2003でクエリを使った検索フォームを作っています。

    ACCESS2003でクエリを使った検索フォームを作っています。 クエリは以下の様になっています。 ----------  番号   タイプ   品名  1111   AA     商品1  2222   AA     しょうひん2  3333   BB     商品しょうひん3 ---------- 品名のフィールドの抽出条件に ---------- Like "*" & [Forms]![品名検索フォーム]![品名検索] & "*" ---------- と入れています。 品名検索フォームは帳票タイプで、フォームヘッダーにテキストボックスを設け 「品名検索」と名前をつけています。 テキストボックスに【商品】と入力すれば番号1111と3333が、【しょうひん】と入力すれば 番号2222と3333が抽出されるように設定し、ここはうまく動きました。 ただ、このフォームを開いた際、テキストボックスは空欄になっているため、全レコードが 表示されてしまいます。テキストボックスが空欄の際は、何も表示したくないのですが どこを触ればいいのでしょうか? どうかよろしくお願いいたします。

  • ACCESS2000でクエリで抽出したレコードをフォームに表示するには

    A顧客テーブルで作成したフォームからコマンドボタン(電話番号検索)押下時に 電話番号入力画面が出て入力した電話番号とマッチした顧客レコードをフォームに 表示させたいのですが上手く出来ません。 現在進めている方法では何がダメなんでしょうか(以下は考え方) A顧客テーブルから作成したフォムに電話番号コマンドを作成してコマンドを 押すとクエリの実行をさせる。クエリはA顧客テーブルのフィールドを全て選択して抽出条件に[電話番号入力]としている。 (結果) ・フォームを開くと先に電話番号入力が出てくる、先にフォームが開かない。 ・電話番号検索コマンドボタンを押すと抽出条件に合ったレコードはデーターシートビューに表示される。 よろしくお願いします

  • Accessの検索フォームで。

    Accessを使ってデータベースを作成しています。 「テーブル1」があり、これには 名前ID 名前 入力日 チェック項目1 チェック項目2   : とあります。 これをもとに「検索クエリ」を作成しました。 検索クエリの項目は「テーブル1」とまったく同じですが、 すべてを検索するわけではないので ・名前ID  「検索項目なし」 ・名前  「Like IIf(IsNull([Forms]![検索条件入力フォーム]![名前]),[氏名],'*' & [Forms]![検索条件入力フォーム]![名前] & '*') ・入力日  「検索項目なし」 ・チェック項目1  「Like IIf(IsNull([Forms]![検索条件入力フォーム]![チェック項目1]),[チェック項目1],[Forms]![検索条件入力フォーム]![チェック項目1])」 ・チェック項目2  ※上記と同じ。   : としてあります。 この「検索クエリ」をもとに「検索条件入力フォーム」を作成してあります。 名前の欄に「田中」と入力すれば、「田中」がつく人がすべて検索されるというようなカンジになっています。 「テーブル1」に空欄があり、その場合に、検索がうまくいきません。 「検索クエリ」のところですべてに条件を入れればいいのですが、フォームに全てが入っていないので。。。 やはりフォームに「テーブル1」の項目すべてを含め、クエリで条件を入れるべきでしょうか? これが今考えている中では一番手早いようなカンジがするのですが、どうしてもあまりスマートなやり方ではないような気がして。。。 これしかないのであれば、これでやりますが、他にいい方法があれば、教えていただけないでしょうか? あまり上手な文章ではないので、補足要求があれば補足します。 宜しくお願いします。 Ac2000です。

  • accessのクエリとフォームの関係についてお尋ねします。

    accessのクエリとフォームの関係についてお尋ねします。 IDを主キーとした同じような構造のテーブルを3つ繋いでクエリを作成し、更にそのクエリをレコードソースとしたフォームを作成しました。 ところがフォームが動かない。テキストボックスを3つ作っていますが、何も表示してないし、レコードも移動しません。 まいった。 accessは2003、vistaを使っております。 素人です。よろしくご教授くださいませ。