• ベストアンサー

別フォームから主フォームに反映させるには?

Access2000 いつもお世話になっています。 質問なのですが、別フォームのデータ(レコード?)をコマンドボタンを押し、 主フォームに反映させるためにはどうしたら良いのでしょうか? 主フォーム(F01-1)単票  会社名、住所、電話番号 サブフォーム(F01-2)帳票  商品CD、商品名、数量、単価、合計 検索フォーム(F02)帳票 ※別窓  会社名、住所、電話番号、コマンドボタン 別窓から主フォームへ反映することはできないのでしょうか? まったく何をやって良いのかわからず、質問させていただきました。 すみませんが、どなたかご回答お願いします。

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

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.2

#1です > おそらくこの質問を返されたということは、 >「F01-1(メインフォーム)とF02(検索フォーム)のレコードは一致していなければならない」 > ということでしょうか? いえいえ、 ご質問内容で、フォーム「F01-1」「F02」の表示が同じだったので、 レコードソースも一緒と考えた方が楽だったものですから。 > F01-1を作成するときは、 > > T03商品コード >   日付 >   顧客コード > T01会社名 >   住所 >   電話番号 > > を選択しています。 > F01-2(サブフォーム)は、T02を選択しています。 > F02(検索フォーム)は、T01のみを元に作成しました。 という事なので、 検索フォームが持っているのは、「顧客コード」 主フォームが持っているのは、多側の「顧客コード」 Forms("F01-1").Recordset.FindFirst "顧客コード = " & Me!顧客コード と検索するだけでは、 主フォームの先頭で一致するものしか表示することが出来なかったと思います。 「一致する顧客コードのもの」という位置づけと思うので、 Filter を使った方が良いと思います。(あったら絞り込まれます)   With Forms("F01-1")     .Filter = "顧客コード = " & Me!顧客コード     .FilterOn = True   End With ※ #1で主キーと言っていたのは、同じレコードソースで1件のみの検索を考えていました。 ※ 上記等コード部分は、イベントプロシージャの中に記述します。 Private Sub ボタン_Click()   With Forms("F01-1")     .Filter = "顧客コード = " & Me!顧客コード     .FilterOn = True   End With End Sub のように ※ 使い方わかりませんが、商品の仕入れ関係でしょうか。   「商品名」は、「T02」ではなく「T03」?・・・   同じ「商品コード」に違う「商品名」を付ける?・・・・   「T03」は「単価」等変更があった時の、各商品の履歴的なものでしょうか   であれば、「T03」に「日付」が必要な気も・・・・   でもフォーム上で「合計」を出しているので?・・・・・  この辺わかりません。 ※ 未検証 ※※ 反映部分、解釈が近ければよいのですが

nmt3942
質問者

お礼

さっそくのお返事ありがとうございます! できましたーーー!! >「商品名」は、「T02」ではなく「T03」?・・・ >「T03」は「単価」等変更があった時の、各商品の履歴的なものでしょうか >であれば、「T03」に「日付」が必要な気も・・・・ >でもフォーム上で「合計」を出しているので?・・・・・ 商品名はT02ですよ? T03は、T01とT02を繋げるためのクッション的なものです。 こうしないとメインフォームとサブフォームがうまく連動して動かないので…。(多分) 会社ごとに、なんの商品を買っているかを見るためのF01-1とF01-2です。 >同じ「商品コード」に違う「商品名」を付ける?・・・・ 商品コードというより、売上コードと書いたほうが良かったですね。 すみませんでした。 少し身の上話なのですが… 会社でアクセスを使って商品管理のプログラム?を作るように言われています。 私は、低レベルの文型大学を出た新入社員で、アクセスに触れるのはこれがほぼ初めてです。 こんな私に、上司がこの仕事を任せたということは、学ぶ機会を与えてくれたと思い、 日々勉強しています。 しかし、勉強して作るというよりも、どうしても作りながらの勉強になり、 今現在のアクセスについての知識は付け焼刃です。 また、会社でアクセスが使える人もいません。 そのためわからない事も多く、回答者様の言葉に付いていけないことも多々で、 同じこと簡単なことを何度もお伺いし、大変申し訳なく思います。 こうしてわからないことは多いですが、それは可能性だと思い(笑) これからも精進し、30246kiku様のように親切な回答者になりたいと思います! ただまだ、どうしても自己解決できず質問してしまうことがあると思います。 その時は、しょうがないなと思い手を貸していただけたら嬉しいです。 あと、30246kiku様のアクセスについて紹介されているHPも見ました! また困ったら参考にさせていただきます。 この度は本当にありがとうございました!

その他の回答 (5)

  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.6

#5です > 画面が被っていたために見えないですが、顧客CDも商品CDもきちんと表示されています。 これ、 あまり多くを推測させない方が良いと思います。 各CDは数値型で右側に配置しているのかな(一例)・・・等々と推測はできますが・・・ それを隠して話が進むのなら、それはそれで良いと思います。 ただ、私が見たい(見たかった)ものが隠れていた、というだけですので。 見たいものが無い・・・・スルーってことにも。 マウスホイール云々に関して) はじめに、お詫びします。 質問者さんの環境での動きが私が知っている動きと同じなのかわからなかったので こういう動きではないんだろうな・・・ でも、こういう事があればそうなるのかな・・・・と思いつつ記述してました。 > マウスホイール(コロコロ)をすると編集中でもレコードが移動します。 > (テーブルにある元データは編集中までのところで変更されます) > 「たまたま、画面下に表示されるレコード移動ボタンで移動していても」 > と置き換えても構いません。 私が知っている動きと同じようだと思います。 でも、最初のレコードに移動する・・・・・これ、未だにわかりません。 ちなみに、私の 2000 のバージョンは、SP-3 になってます。 無印 → SR-1 → SP-2 → SP-3 と変わってきていたような・・・・ 無印では、全体的に動きがおかしかったような記憶があります。 (これ、私の感覚だけです:提示できるもの等ありません) 添付図は他フォームから値を設定するものになります(#3の動き) (2000でも2007でも動きに違いがなかったので、2007にて図採取) ・主フォーム「F1」は単票(面倒だったのでサブフォームなし) テーブル「T01」:顧客ID(数値:主キー)、会社名 テーブル「T02」:売上ID(数値:主キー)、日付、顧客ID これをクエリで SELECT T02.売上ID, T02.日付, T02.顧客ID, T01.会社名 FROM T01 INNER JOIN T02 ON T01.顧客ID=T02.顧客ID; このクエリを元にフォームウィザードで作成 ・検索もどきフォーム「FK_T02C」は帳票 テーブル「T01」を帳票:フォームウィザードで作成 フォーム「FK_T02C」のボタン「btn1」(標題:設定)に以下を記述 Private Sub btn1_Click()   Forms("F1").顧客ID = Me.顧客ID   DoCmd.Close acForm, Me.Name, acSaveNo End Sub 動き:添付図上側より) 「F1」:3レコード目を表示し「検索」ボタン押下      (顧客IDは2) 「FK_T02C」:顧客ID=1 のレコードに移動した状態で「設定」ボタン押下      (「F1」への設定と同時にフォームを閉じます) 「F1」:「顧客ID」と「会社名」が変わっていて、編集状態になってます ※ ここで主フォーム「F1」では、他のレコードに表示が移動することはありません ※※ ご質問の画像  会社名が一覧になっている検索フォームで「反映」ボタンをクリックする時の操作は  どのようにしてますか。  マウスホイールでコロコロ移動しボタン押下・・・・でしょうか  その余韻で主フォームをコロコロしているという事はないでしょうか ※※ マウスホイールは、2000/2003 でレコード移動に使えますが、  2007 ではできなくなっています。(2010 は持っていないので?)  レコードが編集中ならマウスホイールで移動できなくする方法等あるので  検討されてみてはいかがですか。(保存する操作が増えますけど・・・)  http://okwave.jp/qa/q5129734.html  の#5とか ※※ 添付図の動きを「反映」と言えなくはない、かな・・・・ 後から追加された画像があると、なおさらそう思えたり・・・・ 表示が同じで「反映」なら、同じ情報を複数のテーブルに重複して持つ・・・ これは考えにくいので、表示を切り替えるものと・・・ その切り替えに、主キーを使いましょうか・・・・ あ、多側なら Filter の方が良いのかな・・・・・ #2の後 やりたいことは、表示を変えることなんだろうか・・・ 「商品コード」に対して「顧客コード」を設定し直すこと・・・???・・・で、#3に あれあれ、この「商品コード」は、「け会社」じゃなく「い会社」だった・・・ という流れでした。 結果、#2で解決されたようなので・・・・ 確認しなかった落ち度もありますし、うまく説明(回答)できていなかった・・・ 今後に活かしていきたいと思います。 私からは以上です。 失礼しました。

nmt3942
質問者

お礼

返事が遅くなりました。 いつもありがとうございます。 画面が見えなかった件 本当にすみませんでした。 とくに何も考えておらず、画面のコピーカットができたできたと喜んで 深く考えず貼り付けた結果です。 申し訳ありません。 アクセスのバージョンの件 無印でした。 どうりで… マウスホイールの件 こちらこそ説明下手で、申し訳ありませんでした。 ご親切に指摘いただいたのですが、マウスホイールを固定するのも以前やってみて、 テスト段階では上手くいったのですが、本段階になると他のクエリや モジュールに書かれた命令が効かなくなる… など、自分で解決できない問題が発生したので諦めました。 画像とその解説の件 詳しくありがとうございます。 #3でのご説明の事、改めて理解できました。 別窓フォームで編集先を指定し、主フォームで編集が行えるということですね。 登録画面とは別に、編集画面もいずれ作成したいと思っていたのでとても助かりました。 幾度に渡り、私のために説明をいただき本当にありがとうございました。 また、私の説明に対するご指摘は大変貴重な意見です。 今後気を付けていきます。 ありがとうございました。

  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.5

#4です あれ、画像・・・前からありました? > 私も質問の意図がわかりかねますが、私が行いたいのは、 ご質問に > 主フォーム(F01-1)単票 >  会社名、住所、電話番号 > 検索フォーム(F02)帳票 ※別窓 >  会社名、住所、電話番号、コマンドボタン という記述とともに「反映」ということだったので、 「同じものを書きこむ」とは思えませんでした。 また、サブフォームは元としているクエリで抽出条件に何かを設定しているのかな・・・と なので、#2までは、検索・絞り込む方法を書いていました。 これは表示を変更するだけなので、主フォームのデータを書き換えることはありません。 頂いた補足の中に > F01-1を作成するときは、 > > T03商品コード >   日付 >   顧客コード > T01会社名 >   住所 >   電話番号 という記述があり、 主フォームで選択しているレコードの「顧客コード」に、 別窓で検索した「顧客コード」を更新/変更設定する・・・ これを「反映」と言われているのか・・・ 「商品コード」「日付」「顧客コード」が表示されていないので、新規ではない・・・ いろいろ考えてみて・・・・で、#3で設定する記述を。 Private Sub ボタン_Click()   Forms("F01-1").顧客コード = Me!顧客コード End Sub とすると主フォームで選択しているレコードの「顧客コード」を書き換えます。 この直後は、主フォームは編集状態になっていると思います。 (ESCキー等でキャンセルすることが出来ます) 主フォームの表示が最初のレコードに戻る・・・これはないと思います。 #3は、#2の「できた」お言葉より前にした回答で、「反映」とはどんな動き/操作?・・・ で、迷った結果のものとなります。 #4は、#3の補足で頂いた内容に、えっっ・・・って思ったので書かせてもらいました。 今後質問される時があると思います。 その時には「検索」「絞り込み」「更新」「新規設定」等々、 イメージしやすい言葉を使われた方が良いと思います。 ※  今、画像を見ると、 ・主フォームの「顧客CD」が空欄 ・主フォームの「会社名」以降が埋まっている ・主フォームの「商品CD」が空欄 ・でもサブフォームには何かが表示されている 私にはわからない部分が多いので、多分回答しなかったと思います。 回答するとしたら#3の値を設定する方法を最初に書いたと思います。 (文章&画像から、「反映」は「設定」と解釈したと思います) (「検索」「絞り込み」ではない、と判断したと思います) ※※ フォーム上でマウスホイールを使ったことがあまりないのでわかりませんが  マウスホイールで動かした時、選択されたレコードは  ・何らかを操作したレコードから動かない?  ・コロコロ動かして表示されたものが選択されたレコード? もし、コロコロ動かしても、選択したレコードが元のままだったら、 値を設定する時に選択していたレコードに表示が切り替わるのはあり、かなと思います。 この辺わかりません。

nmt3942
質問者

補足

お返事ありがとうございます。 私からの返事が遅くなり申し訳ございません。 画像はわかりやすくなるかと、#4の補足の後に付けました。 最初に付けておけば良かったですね… >サブフォームは元としているクエリで抽出条件に何かを設定しているのかな・・・と クエリはこの中では一切使用していません。 そのため、フォームがたくさんのテーブルから作られています。 >主フォームで選択しているレコードの「顧客コード」に、 >別窓で検索した「顧客コード」を更新/変更設定する・・・ >これを「反映」と言われているのか・・・ すみません、私の伝達不足でした。 なんと表現して良いのかわからず、「反映」という言葉を使ってしまいました。 実際行いたかったことは、表示を変更するだけで、F02の検索フォームでの編集は行いません。 おそらく、#3での設定というのは、 「F02で何かしらの編集作業を行い、それをF01-1またはF01-2に反映させる」 ということでよろしかったでしょうか? でしたら、私が望んでいたのは#2の設定でした。 説明不足、語彙不足でお手数をおかけしました。 ご指摘の通り、以後言葉に気をつけたいと思います。 > 今、画像を見ると、 >・主フォームの「顧客CD」が空欄 >・主フォームの「会社名」以降が埋まっている >・主フォームの「商品CD」が空欄 >・でもサブフォームには何かが表示されている 画面が被っていたために見えないですが、顧客CDも商品CDもきちんと表示されています。 マウスホイールの件はややこしくなることを書いてしまいましたね…。 > ・何らかを操作したレコードから動かない? マウスホイール(コロコロ)をすると編集中でもレコードが移動します。 (テーブルにある元データは編集中までのところで変更されます) > ・コロコロ動かして表示されたものが選択されたレコード? そういうわけではありません。 #4の補足の「マウスホイールで他の会社名のレコードに移動していても」 「たまたま、画面下に表示されるレコード移動ボタンで移動していても」 と置き換えても構いません。 >もし、コロコロ動かしても、選択したレコードが元のままだったら、 >値を設定する時に選択していたレコードに表示が切り替わるのはあり、かなと思います。 >この辺わかりません。 F01-1を立ち上げた時、メインフォーム、サブフォームで「あ会社」のレコードが 最初に表示されていたとします。 それは私が意識的に「選択」しているわけではありません。 (フォームの設定で常に「新規」から始まるようにしていなかったら、 テーブルの一番最初に書かれたレコード(この場合「あ会社」)が表示されるはずです。) その状態で検索を行い、#3の設定で「反映」のコマンドボタンを押したら 「あ会社」が「選択」されているから、「あ会社」が表示されてしまう。 ということでしょうか? ややこしいやり取りをさせてしまい、本当にすみません…。

  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.4

#3です > ""と&とがあるないでこのような差がでるのですね。 > 奥が深いです… いやいや #2は主フォームを「顧客コード」で絞り込むもので、データは変わりませんが、 #3はデータ(顧客コード)を変更・設定しに行きます。 「反映」がどっちなのかわからなくなってきたので#3を追加したのですが・・・ 動作を確認されたのは、テスト用の環境ですよね #3を確認された時のデータが変わっていると思われます ※ 最初のレコードに戻る・・・・これチョッと理解できてません

nmt3942
質問者

補足

お返事ありがとうございます。 >#2は主フォームを「顧客コード」で絞り込むもので、データは変わりませんが、 データが変わらないというのがわかりません。 新規レコードも追加できるし、追加、更新について問題なく行えます。 >#3はデータ(顧客コード)を変更・設定しに行きます。 顧客コードは変更してもらっては困るのですが… >「反映」がどっちなのかわからなくなってきたので#3を追加したのですが・・・ 私も質問の意図がわかりかねますが、私が行いたいのは、 F01-1を開いていて、F02を開く。 F02で顧客を検索し  (このとき会社名を入力しボタンを押したら、  帳票で何件かの会社に絞られるというテキストボックスと  コンボボックスを用意しておきます。) 検索結果から、必要な項目を選び、「反映」ボタンを押す。  (「反映」ボタンは、会社名、住所、電話番号、の横にある。) F02で選択したものが、F01-1に反映される。 ということが行いたいのです。 説明が下手で、言葉だけではわかりかねるやも知れません…。 >動作を確認されたのは、テスト用の環境ですよね >#3を確認された時のデータが変わっていると思われます このデータ(この情報?)自体は練習用にごく簡易化したものです。 #2の時と#3の時とで、大きくデータが変わっていることはないと思われます。 商品レコードを追加したり削除したりは行いましたが…。 >※ 最初のレコードに戻る・・・・これチョッと理解できてません フォームを作成した場合、特にいじらなければ、 フォームを開いた時に登録してあるデータが表示されますよね? マウスホイールで移動できる。 例えば、 あ会社 い会社 う会社 ・ ・ ・ け会社 こ会社 とレコードがあった場合、#3の指示通りに行い、 F02で「お会社」で「反映」をクリックすると、 F01-1が「あ会社」のレコードを表示します。 マウスホイールで他の会社名のレコードに移動していても、 「あ会社」のレコードに戻ってしまう。 ということです。

  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.3

#2です 申し訳ありませんが、解釈違いをしていたかも・・・ 「反映」を、主フォームの検索(絞り込み)表示と思っていましたが、 主フォームに表示されている商品に対して「顧客コード」を設定する という事になりますか。 であれば、 Forms("F01-1").顧客コード = Me!顧客コード でどうなりますか。 (設定された主フォームは編集状態になると思います) ※ 未検証

nmt3942
質問者

補足

ありがとうございます。 Forms("F01-1").顧客コード = Me!顧客コード こちらもやってみましたが、 会社を選び反映のコマンドボタンを押したら、 なぜかメインフォームが最初のレコードに戻り、反映されません。 #2の状態だとうまく反映されます。 ""と&とがあるないでこのような差がでるのですね。 奥が深いです…

  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.1

> 別窓から主フォームへ反映することはできないのでしょうか と言われておりますが、ただ単に値を代入と言う事ではないですよね。 主フォーム(F01-1)単票 と、 検索フォーム(F02)帳票 のソースレコードは同じものでしょうか。 各フォームは連結されたものでしょうか。 同じレコードを表示しているつもり・・・であれば、 各レコードには主キーがあると思います。 検索フォーム(F02)帳票で選択した主キー値を元に、 主フォーム(F01-1)単票 内を検索するようにします。 Forms("F01-1").Recordset.FindFirst "主キーフィールド = " & 検索フォーム(F02)内主キー値 ※ 主キーフィールドがテキスト型なら、主キー値を ' ' で囲みます。 Forms("F01-1").Recordset.FindFirst "主キーフィールド = '" & 主キー値 & "'" この方法以外にも、主フォーム(F01-1)単票 に Filter をかけるのもあります。 例えば、   With Forms("F01-1")     .Filter = "主キーフィールド = " & 主キー値     .FilterOn = True   End With ※ 未検証(メモ帳に直接書いていたので) ※ 解釈違い等々、補足してください。

nmt3942
質問者

補足

お返事ありがとうございます! 先日の質問にもお答えいただいたのに加え、ありがとうございます。 そして返事が遅くて申し訳ありません…。 >主フォーム(F01-1)単票 と、 >検索フォーム(F02)帳票 のソースレコードは同じものでしょうか。 >各フォームは連結されたものでしょうか。 テーブルについては下記の通りです。 T01  顧客コード(主キー、オートナンバー)  会社名  住所  電話番号 T02  コード(主キー、オートナンバー)  商品コード(数値型)  商品名  数量  単位  単価 T03  商品コード(主キー、オートナンバー)  日付  顧客コード(数値型) 各フォームの連結…というのはよくわからなかったのですが、 リレーションについては T01顧客コード(一対多)T03顧客コード T03商品コード(一対多)T02商品コード と、組んであります。 F01-1を作成するときは、 T03商品コード   日付   顧客コード T01会社名   住所   電話番号 を選択しています。 F01-2(サブフォーム)は、T02を選択しています。 F02(検索フォーム)は、T01のみを元に作成しました。 そのため、検索フォームとすべてが一致というわけではありません。 おそらくこの質問を返されたということは、 「F01-1(メインフォーム)とF02(検索フォーム)のレコードは一致していなければならない」 ということでしょうか? あと、初歩的な質問なのですが… Forms("F01-1").Recordset.FindFirst "主キーフィールド = " & 検索フォーム(F02)内主キー値 というコードは、検索のコマンドボタンのイベントプロジャー、 つまりモジュールに書くものなのでしょうか?

関連するQ&A

  • 帳票から単票フォームへの表示がうまくいきません

    ACCESSを始めたばかりです。 帳票表示されているレコードを単票フォームで表示させたいです。 テーブル「売上データ」がありこのテーブルを使って帳票用と単票用のクエリを作成、それぞれに対してフォームを作っています。 「売上データ」には、オートナンバーで No があり、これを主キーにしてあります。 クエリ Q帳票   フォーム F帳票 クエリ Q単票   フォーム F単票 フォームF帳票には、レコード内にボタンをおきました。 ボタンには、下記のマクロをつくって イベント クリック時 のところにいれました。 マクロ フォームを開く  フォーム名 :F単票  ビュー   :フォームビュー  フィルタ名 :  Where条件式 :[No]=[Forms]![F帳票]![No]  データモード:  ウィンドウモード:ダイアログ フォームF帳票 で、検索窓を作って検索した一覧の中から単票表示したいレコードのボタンをクリックして単票フォームをダイアログで開かせたいです。 上記のようにやってみたのですが、単票フォームは開くもののデータは空白になってしまいます。 ちなみに、作ったマクロを実行してみると Forms!F帳票!No とパラメータの入力を求められるので適当な数字をいれるとその数字に該当した単票フォームが開きます。 WEBで探して同じような感じで作ってみたのですがうまくいきません。 どこが間違っているのでしょうか? ちなみにクエリ Q単票 の Noの抽出条件に[Forms]![F帳票]![No]をいれてみたりもしましたがうまくいきませんでした(空白で単票が開く) 何卒よろしくお願いします。

  • サブフォームにした方がいいのか親フォームがいいのか

    単票・帳票フォームで使う場合、 サブフォームにした方がいいのか親フォームのままのほうがいいのか。 アクセスでフォームでデータを表示する際に、 フォームのデータシートビューの場合は、 フォームヘッダーにコントロールを置けないから、 データシートをサブフォームとして、親フォームに乗せてコントロールを設置しますが、 単票・帳票フォームの場合は、フォームヘッダーにコントロールが置けますよね。 その場合でもデータシートビューのように サブフォームにした方が良いのでしょうか? そもそもどういう時にサブフォームにした方が良いのかわかりません テーブルやクエリのデータをフォームとしてデータシートビューで表したい上、 コントロールも設置したい時にサブフォームにするべきで、 それ以外(単票・帳票フォーム)はフォームのまま使うべきでしょうか? 添付の画像は、 帳票フォームをサブフォームに載せずにコマンドボタンなどを置いたバージョンです。

  • 単票フォームと帳票フォームを連動 アクセス

    どういう構成にすればいいか教えてください。 元データはT_testのみですが T_testを元に、単票フォームと帳票フォームを作り、 この二つのフォームをサブフォームにし、1つの親フォームにはめて、 帳票フォームのレコードをクリックする(カレントレコードが変わる)度に 単票フォームは、帳票フォームのデータを表示させたいのですが どうすればいいでしょう? レコードソースは親フォームに設定すればいいのでしょうか? それとも単票フォームと帳票フォームそれぞれにT_testを設定すればいいでしょうか? 帳票フォームのレコードをクリックして単票フォームのデータを表示させる際は、 帳票フォームの値を取得して単票フォームにフィルタをかければいいのでしょうか?

  • サブフォームを複数持つフォームを、一つのキーワード取得用フォームから印

    サブフォームを複数持つフォームを、一つのキーワード取得用フォームから印刷できますか。 印刷用フォームを作成しました。 その中には、基本情報とサブ情報1、サブ情報2…というような複数のサブフォームがあります。 基本テーブルは、 商品番号、商品名 内容 というようなフィールドがあります。   サブ1テーブルは、 商品番号、日付A サブ2テーブルは、 商品番号、日付B キーワード取得用フォームに、商品番号と日付を入れてコマンドボタンを押すと、サブフォームを複数持つフォームに、 (1)基本テーブルの内容と、 (2)それぞれのサブフォームには取得した日付の日付情報(複数レコードもあり) を入れて印刷したいのです。 こんなことは可能でしょうか。 コマンドボタンにクリック時のイベントを書けばいいような気もするのですが、方法がわかりません。 教えてください。よろしくお願いいたします。

  • 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」のフォームを開く・・・というような動きです。 説明が下手で申しわけありません。 お願いします。

  • サブフォームのビューを切り替えたい

    親フォーム(フォーム1)にサブフォームとして、 テーブルをソースとするサブフォーム(テーブル1のサブフォーム)を配置しました。 親フォームからサブフォームのビューを変更したいのですが どうすればいいか教えてください。 親フォームのコマンドボタンにはそれぞれ Private Sub 単票フォームへ切り替え_Click() Me.Controls("テーブル1のサブフォーム").Form.DefaultView = 1 '帳票フォーム End Sub Private Sub 帳票フォームへ切り替え_Click() Me.Controls("テーブル1のサブフォーム").Form.DefaultView = 0 '単票フォーム End Sub としたのですが、 実行すると 実行時エラー 2136 "このプロパティを設定するには、フォームまたはレポートをデザインビューで開きます"。 となってしまいます。 Private Sub 帳票フォームへ切り替え_Click() DoCmd.SelectObject acForm, "テーブル1のサブフォーム" DoCmd.RunCommand acCmdFormView End Sub にしたところ、 実行時エラー 2489 “オブジェクト テーブル1が開いていません、” になります。 サブフォームに埋め込んでいて親フォームを開いていても 開いてない事になるのですね。 フォームビューの時に、切り替える事は不可能なのでしょうか? 帳票ビュー表示用フォーム、 単票ビュー表示用フォーム を作るしかないのでしょうか?

  • ACCESS 帳票フォームとデータシートをトグルボタンで切り替え

    フォーム上でサブフォームの帳票フォームとデータシートをトグルボタンかコマンドボタンで切り替えることはできないでしょうか? 現在、抽出したデータをサブフォーム(帳票フォーム)に表示させており、そのデータにある金額の合計を表示させています。 帳票フォームは見やすいのですが、データシートですと抽出したデータの一部をコピーしEXCELで使用したりできます。見やすさを諦めてデータシートに変更すると抽出したデータの合計が計算できません。 できれば、帳票フォームとデータシートどちらも使用したいのですが、いちいちデザインからサブフォームのプロパティで規定のビューから変更するのが面倒です。 上記にありますようにトグルボタンかコマンドボタンで切り替えることができれば便利なのですが・・・。 良い方法がありましたらお知恵を貸して下さい

  • フォームの値をレポートに反映させるには

    お世話になります。 Access2002のフォームとレポートについてご教授ください。 それは、サブフォームをデータシートにしてサブフォームの中の計算の合計をメインフォームのテキストボックスに反映させるために、=Form![サブフォーム名]![合計]として、サブフォームのヘッダーに一時値を待機させといて、その合計値(サブフォームの合計値)をメインフォームに反映させています。(サブフォームの合計値も計算式をコントロールソースに入力:[単価]*[数量]) そして、メインフォームの値をレポートに反映させて印刷をかけたいのですが、どの様にしたらいいのかわかりません。。。 何かいい方法がございましたら、ひとつよろしくお願いいたします。

  • Accessのメインフォームとサブフォームの使い方について

    Accessにてメインフォーム(単票形式)+サブフォーム(帳票形式)を使って進捗管理をするデータベースを作っており、新規にメインフォームで入力し、サブフォームで入力したデータを表示させてます。 サブフォームで更新したいレコードをクリックしたときにメインフォームでそのレコードを表示させるにはどのようにすればよろしいのでしょうか?

  • ACCESS2000のフォームの作り方について

    OSは98SEでACCESS2000を使用しています。 Aという帳票フォームとBという単票フォームがあります。 A帳票フォームには製造指示日、原料番号、原料種類、原料重量という項目があり、データが表示されています。 B単票フォームには製造指示日、原料番号、原料種類、原料重量、開始日時、労務時間等A帳票フォームの詳細があります。 A帳票フォームのデータ1をクリックすると、Bという単票フォームに移動してデータ1の詳細が表示される様にしたくていろいろやってみようと思ったのですが、どの様にしたらよいかさっぱりわかりません。 どなたか教えていただけないでしょうか。 簡単なVBAはわかりますが、やさしく教えていただけるとうれしいです。 どうぞよろしくお願いいたします。

専門家に質問してみよう