• ベストアンサー

ACCESS2000のフォームの表示について

ACCESS2000の初心者です。AとBの2つのフォームがあり、それぞれテーブルが別ですが、ID名が同じにしてあります。 例えば、Aフォームを開いて、ID番号100を閲覧しているとき、Bフォームを開くと、BフォームのID番号100のデータを閲覧できる方法はどうすればよろしいのでしょうか。いろんな参考書をみてみたりしましたが、いまいちピンポイントな回答がありません。よろしくお願いいたします。

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

  • ベストアンサー
  • oka123
  • ベストアンサー率31% (69/219)
回答No.3

NO1です 追加説明です 新規(選択クエリー)クエリーを作成します 元のテーブルはBフォームに使用しているテーブルです テーブルの全項目をフイールド横方向に展開(出力指示) フイールドのところに当然、ID番号とあるはずなので ここのところで、下部の「抽出条件」のところへ [FORMS]![Aフォーム名]![AフォームのなかでのID番号につけている名前] を入力すると そのときのAフォームに表示されている ID番号の値と同じレコードを選択しなさい という意味になります Bを開くマクロ命令の時にフイルター指定でこのクエリー名を入れます

spooker
質問者

お礼

丁寧な回答ありがとうございました。これでなんとか悩んでいたことが解決できそうです。助かりました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

>Aフォームを開いて、ID番号100を閲覧しているとき、Bフォームを開くと、BフォームのID番号100のデータを閲覧できる方法 一番簡単な方法はAにBを開くボタンを作りBを開く時にフィルタを指定する方法です。ボタンを配置するとウィザードが開くのでボタンの動作をフォームの操作でフォームを開くにします。次にBを選択し特定のレコードを表示するにします。AとBのIDを関連付けて結合します。後は順次進めて完了させればできます。 VBではBを開くボタンの名前をCmd1とすると下記になります。Bを開く時に開くコマンドに因数でIDの抽出を指定します。 Private Sub Cmd1_Click() On Error GoTo Err_Cmd1_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "B" stLinkCriteria = "[ID]=" & "'" & Me![ID] & "'" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_Cmd1_Click: Exit Sub Err_Cmd1_Click: MsgBox Err.Description Resume Exit_Cmd1_Click End Sub これが簡単。

spooker
質問者

お礼

Access2000のVBAでまだ作製したことがなく、エクセルでしかVBAを使用したことがありませんでしたが、この方法でも試してみようと思います。非常に丁寧な回答ありがとうございました。わかりやすかったです。

全文を見る
すると、全ての回答が全文表示されます。
  • oka123
  • ベストアンサー率31% (69/219)
回答No.1

いろんな方法があります 1.BをAのサブフォームにする   Aの中のどこかにBを表示させるサブフォームエリアを作る   AとBとのリンク用項目は ID番号 を指定 2.Aを見ていて必要なときにだけBを表示させる方法   Bをポップアップフォームにする   Bの使用クエリーには選択クエリーを指定する   その選択クエリーにはAで見ている(カーソルされている)   ID番号のデーターのみを得るために   クエリーの選択条件として   [forms]![Aのフォーム名]![ID番号] というようなかたちで指定をする   このポップ画面方式でする場合には    Bフォームを開くためのマクロ用ボタンを   Aフォームの中に作っておく必要があります 

spooker
質問者

補足

早急な回答ありがとうございます。1.の方法はやってみて理解できましたが、2.の方法で、「クエリーの選択条件として[forms]![Aのフォーム名]![ID番号]というようなかたちで指定をする」とはクエリーのデザインビューのどこに指定すればよいのでしょうか。もしかしてずれた質問かもしれませんが、やり方がよくわかりませんということです。お願いします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • MS Access2000のフォームの表示方法について教えてください。

    図1、データが5000件位の製品テーブルがあります。 図1項目名の番号に対する名称等は別のテーブルにあります。 図1(テーブル) ----------------------------------------------------------  製品番号 | 予算番号 | 新製品番号 | ・・・ | ・・・ ----------------------------------------------------------  3310001 | 3230002  |  ・・・   | ・・・ | ・・・  3310001 | 3230002  |  ・・・   | ・・・ | ・・・  3310010 | 3230015 |  ・・・   | ・・・ | ・・・ ・      ・          ・      ・ テーブル図1を使ってクエリ又はフォームで、「材質番号」という項目を追加して図2のような感じでフォームを作成したいのです。 材質番号という項目はベースとなる図1テープル、図1クエリには無く、別テーブルになっています。 図2(フォーム) --------------------------------------- |製品番号|(製品名称テーブルより製品名) | --------------------------------------- --------------------------------------- |予算番号|(予算名称テーブルより予算名称)| --------------------------------------- ---------------------------------------- |材質番号|(材質名称テーブルより材質名称)| ---------------------------------------- なお、作成するフォームは各番号と名称を使用してのデータ検索のみで、入力はしません。 ちょっと質問がややこしくなってしまいましたので、簡単にやりたいことを言いますと、製品フォームにまったく関係の無い材質テーブルの材質番号を、製品フォームに表示させて、検索、閲覧したいということなのです。 Accessもですが、VB&VBA等初心者ですので、できれば使用しない方法がありましたらよろしくお願いいたします。

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

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

  • ACCESSのフォーム操作について

    vbaが全く分からない初心者です。 あれこれ調べてみましたが、分かりませんので 教えてください。 ACCESSでフォーム作成をしています。 テーブルA テーブルB テーブルC があり、フィールドは全て共通しています。 フォームに、コンボボックスを設けテーブル名を表示させ クリックするとそのテーブルのデータをフォームに表示させる ということがやりたいのですがどうすればよいでしょうか。 (例 テーブルCを選ぶとフォームにテーブルCのデータを表示) 本来なら初歩的な事から勉強をした方がいいのですが 仕事の作業でどうしても必要になり、急いでおります。 参考になりそうな、ページやvbaがありましたら教えて 頂けないでしょうか。 宜しくお願い致します。

  • Access フォームのデータがテーブルに反映されない

    こんにちは。 現在、アクセスを使って簡単なデータベースを 作っていたのですが、ひとつわからないことがございます。 テーブルを二つリレーションを組んで、 フォームを作ったのですが、 うまく二つのテーブルにデータが 保存できません。 フォーム:顧客ID、名前、電話番号 サブフォーム:商品ID、商品名、納期、など。。。 こういった二つのテーブルで、サブフォームの方のテーブルに 顧客のデータも保存したいんですが、できるものなのでしょうか? 初心者でわかりづらくて、 大変申し訳ございませんが、よろしくお願い致します。

  • フォームから2つのテーブルにデータを書き込みたい

    Accessで T_aテーブルとT_bテーブルがありそれぞれのフィールドが以下のようになっているとします。 T_a:フィールド名 データ型    ID  オートナンバー型    商品番号 テキスト型 主キー T_b:フィールド名 データ型    ID  オートナンバー型 主キー    商品番号 テキスト型 このときフォームから入力したデータをそれぞれのテーブルの商品番号に追加したいのですがどのようにすればよいのでしょうか。  よろしくお願いいたします。

  • accessのフォームの自動表示

    accessのフォームを作っています。 「会社名」と「発注情報」、それに「電話番号」の入るフォームです。 別に「会社名」と「電話番号」の入ったテーブルを作っておいて、 フォームに「会社名」を入れると、「電話番号」が自動的に表示させるようにしたいのです。 うちの職場に昔いた人が作った別のaccessDBで、それができるようになっているものがあるのですが、どう作ったのか解読できません。 accessは全くの素人です。フォームだけやっと作れるが専門用語などは全くわからない人間だと思ってお教えいただけないでしょうか。

  • Access2000で、あるフォームを開いた後でないと見れないフォームがあります。

    Access2000を用いたフォームの整備を行っています。 Aフォーム(ID番号や会社名などの必須項目を入力する) Bフォーム(詳細を見るためのフォーム) Cフォーム(支払金額を入力するフォーム) BとCでは、Aで入力したID番号や会社名などが自動的に表示されます。 しかし、Aで入力を行った後、先にBを開くと、 全てのテキストボックスがからっぽのまま表示されてしまいます。 先にCを開いてからBを開くと、ちゃんと表示されます。 この場合、Cは開きっぱなしで閉じなくても大丈夫です。 Cフォームで何かを入力するわけでも無いのに、 どうしてCを開いた後でなければ表示されないのか判りません。 この場合、どういった可能性が考えられるでしょうか? 初心者ですので、見当違いの方向ばかり考えているかもしれません。 「これだけの説明じゃ判らないから、もっとここら辺を詳しく」 という指摘などをして戴けると本当に幸いです。 宜しくお願い致します。

  • Access2000 単票フォーム上のボタンを押すと、同じIDを持つフォームが開くよういしたい

    Accessの初心者です。 本当に超がつく初心者ですので、解説もしてくださるととても嬉しいです。 宜しくお願いします。 請求書番号連番を取得するフォーム(テーブルも)があります。 請求書番号は特殊な為、現時点ではじか打ちで作成しています。 それとは別に、顧客ごとに請求データを入力するフォーム(テーブルも)があります。 その二つは、請求書番号でひもづけています。 <請求書番号連番取得フォーム/帳票> ・請求書番号 ・請求日 ・顧客ID <請求データの入力フォーム_A社/単票> ※これがB社、C社と複数存在します。 ・顧客ID ・請求書番号 ・商品CD <請求書番号連番取得フォーム/帳票>上にボタンをつくり、そのボタンを押すと、 同じ顧客IDを持つ<請求データの入力フォーム/単票>が開けたらな・・・と思っているのですが、 わかりますでしょうか・・・・。 どうか、宜しくお願い致します。 <請求書番号連番取得フォーム/帳票> _________________________________________________________________ 請求書番号|請求日 |顧客ID|  _________________________________________________________________ 09BB87ZZ1|2009/04/01|0001 |■(ボタン) -------------------------------------------- 09BS87AA2|2009/04/10|0003 |■(ボタン) -------------------------------------------- ↑この1行目の■(ボタン)を押すと、顧客ID「0001」の請求書番号「09BB87ZZ1」の単票フォームが開き、 (請求書番号欄に「09BB87ZZ1」が入っている。) 2行目の■(ボタン)を押すと、顧客ID「0003」のフォームを開く・・・というような動きです。 説明が下手で申しわけありません。 お願いします。

  • Accessのフォームについて教えて下さい

    Access 2010のフォームについてお教え下さい。 テーブルにはテーブル名T1、フィールド「ID」、「Price」というテキストボックス。2フィールドがあります。 テーブルの各データは、 ID,Price 001,100 002,200 003,300 フォームにはにフォーム名F1、「cmb」というコンボボックスと、「price」というテキストボックスが配置されています。 「cmb」のデータは値集合ソースで、「SELECT T1.ID FROM T1;」と指定しています。 「cmb」で選択したデータのプライスを「Price」テキストボックスに表示したいと思います。 例えば、「001」を選択したら、「100」と表示されるようにしたいと思います。 色々調べているのですが、どうやってやるのかわかりません。どのように実現したらよろしいでしょうか? よろしくお願いいたします。

  • ACCESS VBAでのフォームのコピー

    ACCESS VBAでのフォームのコピー OS;WinXP,ACCESS2000 以下のデータベースファイル(ファイルAとする)がある。 テーブル:生産量テーブル フォーム:閲覧フォーム、転送フォームA 生産者テーブルは、毎日のデータを蓄えるもので1か月分ある。 閲覧フォームは、生産量テーブルのデータを見やすく整えたフォーム。 生産量テーブルは1カ月分しかないため、次の月になったら生産量テーブルから 所定のレコード(月によって変わる)のみ抜き出した新しいテーブルBを作成する。 そして新たにデータベースファイルBをVBAで作成し、DoCmd.ObjectCopyで、 ファイルAからファイルBにテーブルBと閲覧フォーム、転送フォームAを コピーしようと考えた。 (1):しかし、転送フォームA上でVBAを用いてコピーしようとすると、 転送フォームAのみ、フォームが開いているのでコピーができない旨のエラーが出る。 (2):転送フォームAを転送フォームBと名前を変えてコピーすることはできるが、 ファイルBを開いたときに名前を転送フォームAに自動で戻さなければならない。 (手動で戻すことはできないとお考えください) (3):(2)の変形版で、ダミーテーブルをコピー時に作ってファイルBに送信し、 ファイルBを開いたときにダミーテーブルがあればこれを消して転送フォームBを 転送フォームAに名称変更することも考えたが、ダミーテーブルがあるか否かを 判定する関数(if文とかと同時使用することとなるだろうが…)がわからない。 長文になってしまいましたが、どなたか知恵をお貸しください。

専門家に質問してみよう