• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access 入力フォームの作成)

Access入力フォームの作成方法と自動入力のテクニック

このQ&Aのポイント
  • Access入力フォームを使って販売データを一気に入力する方法を解説します。約5日分のデータを日付ごとに入力する手間を省きたい方におすすめです。
  • また、顧客番号だけではなく、顧客名も表示されるようにする方法もご紹介します。入力ミスを防ぎながら効率的なデータ入力ができます。
  • この方法を使えば、毎回日付を手動で入力する手間や入力ミスを防ぐことができます。Accessを使ってデータ入力を効率化したい方はぜひ試してみてください。

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

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

初期値をクエリで求めては? 以下のクエリ(名前は"ABC")を作ります。 SELCT IIf(IsNull(A.X),Date(),B.日付) AS XYZ FROM [SELECT Max(T.販売番号) AS X FROM tbl販売 AS T]. AS A LEFT JOIN tbl販売 AS B ON A.X=B.販売番号 次にフォームの日付の規定値に=DLookup("XYZ","ABC")と 記述します。これで、最後に入力したデータの日付が、 次の新規登録レコードの規定値になります。 >顧客名が表示されるような方法はありますか? テーブルの項目以外を使うと更新不可能になります。 顧客番号をコンボボックスにしたらどうですか? 表示を2列にすると、番号と名前が対になって 見えるので入力し易くなると思います。 値集合ソースに"SELECT 顧客番号,顧客名 FROM tbl顧客 ORDER BY 顧客番号"と記入(引用符は転記しない)し、 列数を2、列幅を1cm;2cmにします。これで2列見えます。 列幅は適宜調整します。 これがイヤならヘッダかフッタに非連結テキストを置き、 カレントが変化する度に動的に内容を書き換えるコードを 置く(あるいは=DLookupを使う。条件指定が面倒)ように しますが、カレントを移る度にクエリが実行されるので 効率の悪い方法です。

yy-sakura
質問者

お礼

nda23 様 回答をありがとうございます。 テーブルの項目以外を使うと更新不可能になるのですね。 勉強になりました。 日付の自動入力を採用させて頂きました。 顧客名の自動表示は、顧客名簿が2000件ほどあり、コンボボックスだと長くなりすぎました。 よって、nicotinism様の回答を採用させて頂きました。 DLookupのヒントと効率性を教えて頂きました。 表示スピードが遅くなるような感じなのでしょうか。 実感なく申し訳ありません。 目的のものが出来ました。ありがとうございました。

その他の回答 (1)

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

フォームの適当なところ(ヘッダーなど)にテキストボックスを一個配置。 名前を仮に『日付既定』とします。 顧客氏名も追加します [日付既定] ----------------------------------- 日付|顧客番号|顧客氏名|商品|金額 3/8|   123|    |石鹸|200 3/8|   122|    |洗剤|100 日付のプロパティのデータタブ→既定値欄に、[日付既定] 顧客氏名のコントロールソースに、= Dlookup("顧客名","tbl顧客","顧客番号=" & [顧客番号]) 日付と顧客氏名のその他タブ→タブストップを、いいえに でどうですか。 これで新規レコードの『日付』は[日付既定]の値になります。

yy-sakura
質問者

お礼

nicotinism 様 回答をありがとうございます。 日付の方なのですが、3/1分の入力が終わり、続けて3/2と日付を打ち直すと、 3/1のままでした。 よってnda23様の回答を利用させて頂きました。 顧客氏名の自動表示は採用させて頂きました。 目的のものが出来ました。ありがとうございました。

関連するQ&A