• ベストアンサー

ACCESS フォームで入力データを残したいです。

いつもお世話になっております。 今回はACCESSについてご指導お願い致します。 テーブルからフォームを作成したのですが、テキストボックスで1件目の入力データの内容を2件目入力するときに、そのまま残しておきたいのです。 テキストボックスには日付や品番など入力していくのですが、同じ場合は入力を省きたいと思っています。難しいでしょうか・・? 最近ACCESSの勉強をはじめたところなので、用語などもほとんどわかりません。 宜しくお願い致します。

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

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

ショートカットキーで Ctrl + ' (Ctrl + 7 (テンキーではない7です (^^ゞ )) で直前値のコピーが出来ます。これはテーブルやフォームでも利用可。 新規レコード時に自動的に行いたいのなら、例えば フィールド名とデータ型が T→テキスト型 D→日付型 N→数値型 としたら フォームをデザインビューで開いて それぞれの更新後処理の右側の欄をクリック すると▼・・・が現れますので、三点リーダみたいなほうをクリック Tのコントロールの場合なら Private Sub t_AfterUpdate() End Sub となりますから、この間にMe!T.DefaultValue = "'" & Me!T.Value & "'"を入れ Private Sub T_AfterUpdate() Me!T.DefaultValue = "'" & Me!T.Value & "'" End Sub としてください。 データ型によって記述が変わります。テキスト型は、' で括る必要があります。 日付型なら # で括って Me!D.DefaultValue = "#" & Me!D.Value & "#" 数値型なら何もせず単純に Me!N.DefaultValue = Me!N.Value これで直前に入力した値が新規レコードに規定値として適用されます。 まずはショートカットキーからですかね。

s-akane
質問者

お礼

できました!ショートカットキーでもVBAでもできました!でもVBAとは思っていなくて、すみませんでした。MOUSE ACCESSの本を2冊勉強しただけで、無理やり高度なことを考えてしまったようです。ご説明の内容がわかりやすかったので、今回は助かりました。少しずつ勉強していきます。ご指導ありがとうございました。

その他の回答 (3)

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

質問者さん、ごめんなさい。ちょっと引っかかってしまったのでご容赦。 layy さんは実際にご自身で入力作業をひたすら行ったご経験はおありなのでしょうか? ※ショートカットキーを使う場合 テーブルや帳票フォームでは直前のレコードが見えますので >利用者の記憶に委ねられる はナンセンスかと? >左手使うし マウスでやれということですか?キーボードからマウスに手を伸ばす時間のほうが もったいないと思いますが。両手があるのだから使わないとね。 >実務ではわざわざシート表示変えて下さい、なんて言えないだろうし 切り替える必要はありません。 テーブルでもクエリでも帳票フォームでも単票フォームでも基本的に可。 >質問者のスキルで対応策が変わる。 質問者さんは初めて間もないとおっしゃっています。 これで考えられる『具体的な回答』を提示してもらいたいものです! >新たな小さいフォーム作って既存データ候補一覧なんかでもよさそう。 >選んだ行をメインのフォームに貼付け。1件前でも昨日のでも選べる。 実際に作業をやってみれば(あるいは傍で観察)分かりますが フォームの切り替えが手間です。 キーボードでもマウスでも選択する件数は20件程度を越すと リストから選ぶよりは直接入力した方が速いことになります。 実は選択間違いがとても怖い! それに質問者さんは >テキストボックスで1件目の入力データの内容を2件目入力するときに、・・中略・・同じ場合は入力を省きたい との質問です。 VBAでの回答の場合はフォームでしか出来ませんが 重複する部分が有りますので省きますが、帳票フォームでも単票フォームでも可能です。 現実的な回答とはとても思えません。

s-akane
質問者

お礼

ありがとうございます(T_T)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.3

既存回答では実務に使うには物足りないだろう。 左手使うし、同じか違うかは利用者の記憶に委ねられる。 入力してトイレとか割り込み、何だったか忘れてとりあえずCTRL+'押してみるかっていうのはありえる話。 実務ではわざわざシート表示変えて下さい、なんて言えないだろうし、そこをなんとかして作りこんでナンボ。 クエリは使えるか。マクロはどうか。VBAはたぶんまだだろう。DLOOKUPみたいな関数はどうか。質問者のスキルで対応策が変わる。 新たな小さいフォーム作って既存データ候補一覧なんかでもよさそう。選んだ行をメインのフォームに貼付け。1件前でも昨日のでも選べる。 アクセスの仕掛けとして対処方法はある。

  • 007MUKADE
  • ベストアンサー率41% (286/694)
回答No.2

フォームの表示を ” 表形式 ” にして ・・・・ 入力する フィールド の テキストボックス(Exellで云う セル )で > (Ctrl + 7 (テンキーではない7です (^^ゞ )) < とすれば 表示されて居る 1つ上の値が ペースト 出来ます。 これさえ覚えて置けば 中級までは OK です。 テーブルでも クエリーでも 使えます。

s-akane
質問者

お礼

ありがとうございます。ご指導いただきましたショートカットキーは、メモを残さなくても忘れないと思います。また何かありましたら、宜しくお願い致します。

関連するQ&A

  • ACCESS2000のフォームからの入力でデータが上書きされる

    書類の受付簿を作成しました。 ユーザー1件ごとに受付日を入れると 規則性無く、時々入力したはずの日付が 前のレコードに書き込まれてしまいます。 内容としては【テーブル】 ユーザーテーブル(約2000件) 受付簿テーブル(3種類をそれぞれmm/ddで) ユーザーでは無くなった退会テーブル(Yes/No) 3つのテーブルで管理しています。 【クエリー】 日付入力をするためにクエリーを1つ作成 しました。上記3つのテーブルの合体させたもの。 それぞれのテーブルはユーザーIDでリレーションし ました。 【フォーム1】→これで入力するとおかしくなる ユーザーIDで検索し、ユーザー名が表示されたら 3項目ある受付枠に日付を入力する画面 フォームビューで作成 【フォーム2】 同じクエリーをデータシートビューで表示させ 検索機能なしで、直接ユーザーIDの該当枠に入力 する画面 を作成しました。フォームビューで作成したフォーム 1で入力したときに、どういう規則性があるか まったく判らないのですが、1件前のユーザーIDに セットされ、入力したはずの部分は空欄になって しまいます。 また、この現象に関連するのでしょうが、すでに入力 されていた日付が、消えてしまう現象もおきます。 何が原因でこのような現象になっているか、まったく 検討がつきません。どこら辺を、チェックしたら 良いか、回答をお待ちしています。

  • ACCESS フォームで入力した日付をクエリで読み

    ACCESS フォームで入力した日付をクエリで読み替えたい ACCESS フォームで入力した日付をクエリで使用しているテーブルの書式に変換したい フォーム テキスト名:日付にyyyymmdd で入力します クエリ テキスト名:日付はパラメータとして使用しています クエリ内で使用しているテーブルの日付書式は 日付:yyyy/mm/ddです パラメータは 「日付始」と「日付終」の2箇所のテキストに入力されたデータを使用しています。以下がパラメータです。 Between [Forms]![フォーム]![日付始] and [Forms]![フォーム]![日付終] フォームのテキストボックスにyyyymmddと入力してもクエリでエラーが出ることない パラメータを日付に設定したいのですがどうしたらよいでしょうか? ちなみに、以下の式を入れたらエラーです。 Between CDate(Format([Forms]![フォーム]![日付始],"yyyy/mm/dd")) and CDate(Format([Forms]![フォーム]![日付始],"yyyy/mm/dd")) と入力しましたところ、、、、「式が複雑すぎるか、、、」のエラーメッセージが出てしまいました。 どなたか助けてください。お願い致します。

  • アクセスのフォームで簡単入力の仕方

    いつもお世話になっております。当方アクセス初心者です。フォームにテキストボックスを2個配置しました。1個にコードを打ち込むと別のテキストボックスにそれに該当する項目を表示させたいのですがどうすればいいのでしょうか?入力したデータを保存するテーブルが1つ、コードと項目を保持するテーブルが1つ、それぞれ用意しています。よろしくご教示願います。

  • ACCESS2000での最終データ検索又は抽出について。

    ACCESS2000での最終データ検索又は抽出について。 現在レンタル品管理をACCESS2000にて作成しているのですが、 ACCESSを勉強しながら(ネット検索等)作成しており ACCESSを始めて10日の初心者のため、行き詰ってしまったので ご質問させて頂きたいと思います。 状況 テーブル:レンタル品マスター       品番      貸出日      返却日     00000     2010/4/1    2010/4/16     11111     2010/4/2    2010/4/5     22222     2010/4/5     00000     2010/4/17    2010/4/20     33333     2010/4/18     00000     2010/4/22     11111     2010/4/23 フォーム:レンタル品管理      テキストボックス(textレンタル品番)      テキストボックス(text貸出日)      テキストボックス(text返却日)      コマンドボタン(command貸出)      コマンドボタン(command返却) 上記2点作成してあり、現在わからなく止まってしまっている所は (1) フォーム上のテキストボックス(textレンタル品番)に入力しエンターキー等を 押したら、入力したレンタル品番の最新の日付(貸出日)をフォーム上text貸出日に 表示させる。 ex textレンタル品番に 00000 と入力しエンターキー等を押すと   text貸出日に自動的に 2010/4/22 と表示される。 (2) (1)で表示させたデータに返却日をtext返却日に入力&command返却を押す事で 更新登録させる。 この2点がわからないのです。 まず(1)は  Private Sub textレンタル品番_AfterUpdate() ここからコードの書き方がわかりません。 多分 ADODB.Recordset 等使い、Max関数で抽出なのかなぁとは 考えているのですが、書き方がわからず、ネット検索で調べてみたものの 私ができ悪いため、理解できず・・・・なのです。 End Sub (2)は、どうしていいのか検討もついておりません。 皆様お手数お掛け致しますが、何卒ご教授の程宜しくお願い致します。 また、説明がわかりずらい・不足している等ございましたら 言って下さい。説明等の訂正・追加を致しますので。

  • Accessフォームについて質問

    お世話になります。 Accessフォームで以下のような設計がうまく作れず困っています。 あるテーブルに連結したフォーム内で、「コンボボックスA」から人物を選ぶと 隣にある「テキストボックスB」にAで選択された人物の部署名が自動的に入力されるようにしたい。 VBA並びにAccess初心者ですが、どなたか良い方法をご存知の方いましたら ご指導お願い致します。

  • アクセスのフォームについて

    アクセスのフォームについて2件質問させてください。 その1 クエリーからあるフォームを作っていますが、元になるクエリー(テーブルにも)には項目がなく、ただそのフォームに表示されればいいというデータをそのフォーム上で入力したいのです。 そこで非連結でテキストボックスを作ったのですが、1ヶ所に入力するとどのページにも同じデータが表示されています。 それぞれのページに違うデータをフォームから直接入力するにはどのようにしたらいいでしょうか? その2 大変むずかしい依頼がきて悩んでいます。 フォームでラベルや図形で1ヶ月を3等分した簡単な図を作り、 フォーム上のある日付をその図の中に●や▲で表示したいのです。 イメージは下のような感じですが、このようなことは可能でしょうか?      2002/3       2002/4           ┃  │   │  ┃  │ ● │  ┃   以上2件一緒にして申し訳ございませんが、ご存知の方がいらっしゃいましたらよろしくお願いします。

  • Accessのフォームにて

    Accessの配達管理のフォーム(表形式、ある条件にて抽出済み)にて ●日付 ●顧客ID  ・  ・ ●配達者CD 上記のフィールドがあるとします。 このフォームのヘッダー部分に非連結のテキストボックスA、Bを作成し、 テキストボックスAに配達者CDを入力すると、 テキストボックスBに配達者名が表示される。 フッター部分に「印刷」ボタンを作成し、これをクリックすると、 フォーム一覧の配達者CDにヘッダー部分のテキストボックスAの 配達者CDが入力されるというシステムを作りたいのですが、 テキストボックスAの配達者CDを参照させて、テキストボックスBに 配達者名を表示させるというのがうまくいきません。 テーブルにて、配達者マスタ ●配達者CD ●配達者名 は、作成しています。 よろしくお願いいたします。

  • Accessで検索フォームを作成したいです。

    いつもお世話になっています。 Accessで検索フォームを作成したいのですが、webで調べてあてはめても上手くいきません。どうか、ご指導の程宜しくお願い致します。 (成分:テーブル) ID     成分 1    AAA 2     BBB 3     CCC 合計14レコードです。 (薬品と品番:テーブル) 薬品名    成分 あああ AAA いいい BBB えええ BBB あああ    CCC           合計200レコードです。 検索フォームを作成したいのですが、薬品名(例:「あああ」)を入力すると同じフォーム内で「AAA」「CCC」・・・とすべて一覧表示されるようにするにはどうしたらいいのでしょうか? Access初心者で、説明も物分りも悪いですがご指導の程宜しくお願い致します。 Access2002を使っています。

  • ACCESS フォームの入力で

    フォームの入力でコード番号を入力すると項目が自動入力出来るようにしたくて 2つ目のテキストボックスのコントロールソースに=DLookUp("[商品名]","テーブル2","[商品コード] = [コード] ")と入力したのですが 1つ目のテキストボックスに入力すると そのときは2つ目のテキストボックスは白紙で 一度フォームを閉じてから立ち上げると2つ目のテキストボックスにも入力されています。 これは閉じないと入力されないのでしょうか? 1つ目を入力した後に表示されるようにしたいのですが・・・。 よろしくお願いします。

  • AccessのDlookup関数のエラー

    【Access2003】 dlookup関数について教えてください。 やろうとしていることは、ある商品について任意の日付の時点での数量を表示したく、 練習として、 DLookup("[数量]", "t_商品情報", "[品番] = '"& "1001" & "' and [日付] = #" & "2007/12/17" & "#") と記述したときには正常な値が表示されました。 その後、「品番」と「日付」をフォーム上のテキストボックスで任意の値を入力したいと思い、下記のように書き直しました。 DLookup("[数量]", "t_商品情報", "[品番] = '"& "[Forms]![フォーム1]![txt品番]" & "' and [日付] = #" & "[Forms]![フォーム1]![txt日付]" & "#") フォームのテキストボックスにそれぞれ値を入力したところ、「日付の構文エラー」となってしまいました。 勉強不足なのでしょうか、原因がわからず困っております。 お詳しい方のアドバイスをお待ちしております。宜しくお願い致します。

専門家に質問してみよう