• 締切済み

アクセスで同じ値を引き出してくる方法

アクセス初心者です。 フォームのテキストボックス(txt開催日)に『12345』と言う値が入っています。 テーブル(T_受講料)で『12345』は『5000』と言うテーブルを作っています。(他、多数のデータがあります) そのテーブルは単独でリレーションを結んでいません。(構造上無理なため) どうやったら、フォームに新たに作ったテキストボックスに『5000』を入力できるのでしょうか? よろしくお願いします。

みんなの回答

  • bonaron
  • ベストアンサー率64% (482/745)
回答No.3

訂正です。 コントロールソースなのに、つい手がすべって(^^; =DLookUp("受講料","T_受講料","受講料ID='" & [txt開催日] & "'")

Yuuho
質問者

お礼

ありがとうございます。 私の作り方が悪いのか、やはりエラー(#Name?)が出てきます。 違うやり方で、金額を出してみることにします。

  • bonaron
  • ベストアンサー率64% (482/745)
回答No.2

txt受講料のコントロールソースを =DLookUp("受講料","T_受講料","受講料ID='" & Me.[txt開催日] & "'") ですね。

  • bonaron
  • ベストアンサー率64% (482/745)
回答No.1

やることは簡単なんですが、提示されている条件が不足しているため、レスが付きにくいようです。 T_受講料のフィールドの情報(名前、データ型) フォームが連結か非連結か。 連結の場合、単票か帳票か。 連結の場合、取得した値をテーブルに保存する必要があるのか、見せるだけで良いのか。 (すなわち、金額のコントロールソースがテーブルのフィールドであるか?) テーブルに保存しなくてよい場合の回答例 (T_受講料)に「開催日」と「受講料」というフィールド(いずれも数値型)があるものとして、 金額のテキストボックスのコントロールソースを =IIf(Not IsNull([txt開催日]),DLookUp("受講料","T_受講料","開催日=" & [txt開催日]),Null) フィールド名はご自身のものに合わせてください。 開催日が数値型以外の場合は、「'」(テキスト型)、「#」(日付/時刻型)で括る必要があります。 金額のテキストボックスがテーブルに連結している場合は、 txt開催日の「更新後処理」で If IsNull(Me.txt開催日) Then   Me.txt金額 = Null Else   Me.txt金額=DLookUp("受講料","T_受講料","開催日=" & [txt開催日]) End If というところですかね。 型による変更は前述。

Yuuho
質問者

補足

ありがとうございます。 沢山、記入事項が不足していて申し訳ございません。 私なりに、上記の方法で試してみたのですが、エラーが出て出来ませんでした。 不足分を明記いたします。 T_受講料は、 主キー:受講料ID(テキスト型)     受講料(通貨型) から、構成されています。 金額を入力したいフォームのテキストボックス(txt受講料)は、『非連結』になっています。 単票型で作成しています。 テーブルに保存は考えていません。(フィールドがありません) よろしくお願いします。

関連するQ&A