• ベストアンサー

アクセスのDLOOKUPについて

DLOOKUPについて質問です。入力フォームにて製品番号を入れると製品名が出るようにして入力を楽にしたつもりでした。その方法はコントロールソースに=DLooKUP("品名","部番一覧表","部番='"&[部番]&"'")と入力しました。これは他の相談室の過去ログから拾いました。が、しかしテーブルの品名が空欄なんです。入力フォームにはちゃんと出ているのにどうしてテーブルに反映されないのでしょうか?スーパー初心者で何とかここまでたどり着きました。どうか教えてください、宜しくお願いします。

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

  • ベストアンサー
  • o23
  • ベストアンサー率36% (64/175)
回答No.2

>他の相談室の過去ログから拾いました。 ここで、テーブルにデータが入るとは書いてなかったと思います。 この場合テーブルからデータを参照してフォーム上に”表示するだけ”で、 書き込まれるわけではありません。 フォームの製品番号の更新後処理で[イベント プロシージャ]、 Private Sub 部番_AfterUpdate() Me![品名] = DLookup("品名", "部番一覧表", "部番='" & [部番] & "'") End Sub 等を行うか、マクロの場合は”値の代入”を行いましょう。 ※入力用のテーブル又はクエリーがフォームのコントロールソ-スになって いますか? 尚、更新前処理でフォームで入力した製品番号が部番一覧表テーブルにある かどうかのチェックをおこなうか製品番号の入力をコンボボックスにして 入力チェックを"はい"にするとかした方がよいでしょう。 上記の内容が、何を言っているのか全く検討もつかない場合は入門書などを 参考に勉強してください。

ricoo
質問者

お礼

勉強不足でした。申し訳有りませんでした。 いちから勉強し直します。ありがとうございました。

その他の回答 (1)

  • ma-demu
  • ベストアンサー率0% (0/2)
回答No.1

それはフォームにテキストボックスを二つ並べて左側に製品番号を入力すると、右側に製品名が出るって感じですか?  それで入力フォームを閉じてもテーブルに保存されていないってことなんですかね? それでしたらクエリの追加クエリを使ってみたらいかがですか???

ricoo
質問者

お礼

質問するのにはまだ早すぎました。勉強し直します。有難うございました。