• ベストアンサー

アクセスで・・

メインフォーム(ID)、サブフォーム(サブID、IDとIDのリレーション)があります。 それとサブフォームの内訳を入力するサブサブフォームが展開し、これはサブフォーム上のコマンドボタンクリックで、サブIDとリレーションされた形でデータを入力する。 という風にしたいのですが、コマンドボタンクリックのところのコードがわかりません・・ どなたかご教授願えませんでしょうか?

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

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

>見積項目IDと見積項目明細IDの結合で良いとすれば 例えばサブフォームを帳票フォームとして詳細部にボタンを作りクリックするとサブサブフォームが開く仕様とします。 サブサブフォームを開くボタンをCmd1として Private Sub Cmd1_Click() On Error GoTo Err_Cmd1_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "サブサブフォーム名" 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 これでサブフォームの見積項目IDとサブサブフォームの見積項目明細IDを結合した状態でフォームを開くことができます。 こういう事でいいのでしょうか。

littlelink
質問者

お礼

ありがとうございます!ズバリその通りです! おかげ様でまたコード記述の理解が一歩前進しました。

その他の回答 (1)

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

>サブフォーム上のコマンドボタンクリックで、サブIDとリレーションされた形でデータを入力する 意味が良く分からないのですが・・。 サブフォームのレコードソースとサブサブフォームのレコードソースをリレーションしてそれでフォームを作れば問題ないのでは。 ボタンをクリックして何のデータを入力したいのでしょうか?

littlelink
質問者

補足

説明が不足していて申し訳ありません。 見積用のフォームなのですが、メインは見積ID(リレーション)と得意先名・日付等 サブフォームには、見積項目ID(リレーション)とその項目(品名・数量等) で、その項目に対し、細かい明細があるためサブサブフォーム(見積項目明細IDでリレーション)を設けております。 サブフォームには例として 内装工事・木工事等の品名が入り、1式いくらという形で数量・単位が入ります。 で、この一式の中身をサブサブフォームで入力させたいと思っています。 サブサブフォームまでを一つの画面で展開しても良いのですが、 サブフォームだけでコトが足りる場合もあるのです。 なので、サブサブフォームはサブフォーム上のコマンドボタンで開く というふうにしたいのですが、見積項目IDでリレーションされたものを呼び出す。というコードがわからず・・(初心者でスミマセン。) これで理解していただけるでしょうか? どうにもうまく説明できずすみません。。