• ベストアンサー

アクセスのデータ入力について

教えてください。 アクセスのフォームでデータ入力をする際に、同じフィールドに同じデータを何回も連続して入力する場合があります。 たとえば、「日付」であるとか「勘定科目」あるいは「摘要」などです。 いちいち入力するのは面倒なので、たとえば「Enter」を押すと、前回、同じフィールドに入力したデータを表示してくれるようなプロシージャは作れないものでしょうか?? よろしくお願いします!

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

  • ベストアンサー
  • tksoft
  • ベストアンサー率36% (99/273)
回答No.2

例えば、[入力]フォームに[摘要]のテキストボックスがあると仮定します。 この[摘要]の更新後処理、ダブルクリック時処理に以下の様なコードを書けばお望みの結果が得られると思います。 'Form_入力 : クラスモジュール ここから Option Compare Database Option Explicit 'Public変数をここに宣言します Public TEKIYOU As String Private Sub 摘要_AfterUpdate() 'テキストボックス[摘要]の更新後処理です '[摘要]に値が入力されたら、その値を一旦Public変数に保存します If IsNull(Me.摘要) Then '[摘要]がNullかどうかの判定 'Nullだった場合""(空文字)を代入しておく TEKIYOU = "" Else 'Nullでなければ(文字列があれば)その文字列を変数に格納 TEKIYOU = Me.摘要 End If End Sub Private Sub 摘要_DblClick(Cancel As Integer) 'テキストボックス[摘要]のダブルクリック時の処理です '上とは逆にPublic変数に保存された値を[摘要]に入力します If TEKIYOU = "" Then 'TEKIYOUが空文字かどうかの判定 '空文字だったら何もしない Else 'そうでなければ、TEKIYOUの値を代入 Me.摘要 = TEKIYOU End If '上のif文は該当テーブルの摘要フィールドで空文字列の許可が[はい]になっていれば '特に必要は無いです End Sub

jetstream
質問者

お礼

ありがとうございました。 うまくできました! 今後とも宜しくご指導ください。

その他の回答 (1)

  • tksoft
  • ベストアンサー率36% (99/273)
回答No.1

可能ですよ、考え方としては (1)入力データを保存するPublicな変数を準備 (2)更新後処理で入力したデータを変数に保存 (3)フォーカス取得時又はダブルクリック時などで変数のデータを入力 ということでいいと思います。

jetstream
質問者

補足

ありがとうございます。 考え方はよく理解できましたが、具体的にどう記述すればいいのでしょうか? 初心者なものですからPublic変数の使い方がよくわかりません。 ぜひサンプルを教えてください。

関連するQ&A

  • アクセスフォームのデータ入力

    教えてください。 アクセス2000で銀行残高管理DBを作っています。 データ入力用フォームで次のフィールドがあるとします。 (1)支払先(2)借方科目名(3)貸方科目名(4)金額(5)摘要 1)同じフォームで複数行のレコードを入力できるようにしたいのですができますか? たとえば5行くらいです。  2)同じ科目の取引が何回も続くような場合に、実行キーを押すと前の行の同じフィールドのレコードを自動的に入力させることはできますか? 以上、ご指導お願い致します。

  • ACCESS2013リストから選択してデータの入力

    ACCESS2013で下記のような名前の3つのテーブルがあります。 T会社名、T摘要名テーブルには既にデータが入力されており、 この入力された値を元にT支払にデータを入力することを考えています。 T支払で会社名をA社と入力したら、摘要名はT摘要名テーブルを参照して、A社の摘要名の中からだけリスト選択を行いたいのですが、どのような手順を踏めばよいでしょうか? T会社名(フィールド値に会社名を持つ) T摘要名(フィールド値に会社名と摘要名を持つ) T支払(フィールド値に会社名と摘要名を持つ) 選択クエリを使って、抽出条件を使えばできると聞いたことがありますが、いまいち理解できませんでした。どのテーブルで、あるいはクエリ、フォームを新たに作って、どのような操作を行うのか具体的に教えていただきたいです。よろしくお願いします。

  • ACCESSのデータ入力

    access2000です。 本を読んでデータベースを作ろうとしているのですが テーブルで、入力したいフィールドの名称を登録して フォームで入力画面を作りました。 これでは フォームに入力したデータは左上にある▲みたいなものを押さないと登録されないようです。 フォーム上に大きなボタンでテーブルに登録したいです。 本には載っていないのですが どうすればいいのでしょうか?

  • アクセスのデータ入力について

    アクセスのテーブルの入力で同じフィールドへ同じデータを繰り返し入力する項目(日付など)があるのですが、1回だけ入力して他のレコードに反映させることはできないものでしょうか?解答よろしくお願い致します。

  • Accessで連続データってできますか?

    Excelのオートフィルのように、Accessのレコードで連続データってできるんでしょうか?連続データ用のフィールドを一つ作って、日付順とか並び替えたあとにフィールドに更新をかけたいんですが・・・

  • ACCESS 入力順序について

    データシート形式の入力フォーム(サブフォーム)で、フィールド(縦)に移動するよう入力を変えられないのでしょうか? Enter入力時にレコード(横)に動いてしまうのがどうも入力しずらいです。 入力するフィールドのみ表示してほかのフィールドを非表示にするか、 フィールドごとにサブフォームをつくるしかないのですかね。

  • フォームでの自動入力

    Access2002を使用していますが、フォームでの自動入力につき質問させてください。 勘定科目テーブルというのがあって、コード番号と科目名だけの簡単なテーブルですが、会計取引入力のフォームを作成して、「コード番号を入力したら(勘定科目テーブルを参照して)該当する科目名を別のフィールドに自動表示&入力する」、という処理を行いたいのですが可能でしょうか? Excelのlookup関数のようなものですね。 どなたか教えてください。

  • アクセス2000を使ってのデータ集計方法

    はじめまして、アクセス2000を使って支払テーブルを作成しました。フィールドは、日付 メーカーID 金額 現場名ID 勘定科目ID・・等です。 メーカと現場名と勘定科目はマスタテーブルを別に作って そこから参照させています。これにデータを打ち込んでいって月別金額集計と メーカ別金額集計と 現場名別金額集計と勘定科目別金額集計をさせたいのですが フォームとレポートに支払テーブルレコードを表示させて 合計金額を表示させるにはどのようにすれば良いでしょうか? 判りにくい説明ですが 4月分のデータを一覧表示させて合計金額を表示次に5月分のデータを一覧表示させて合計金額を表示と言う具合です

  • アクセス 前レコード内容を、新レコードにコピー

    アクセスで、テーブルに [日付] と [内容] のフィールドがあって、フォームでデータを入力する際、新しいレコードに[日付]を入力した後、[内容]の項目で、前回に最後のレコードで入力した [内容] のデータを、そのまま新しいレコードに入力したい。コピー貼り付けでもできるが、コマンドボタンを押して、1発で前回のデータをコピーしたい。どんなにしたらできるのですか?よろしくお願いします。

  • Accessデータ入力について

    Access2000です。 フォームにてデータ入力をしており、以下の処理をしたいと思っています。 **** 1レコードの入力が終わってENTERで格納する前にメッセージを表示する。 メッセージのOKを選択するとレコードがテーブルに格納される。 キャンセル等を選択するとそのレコードはテーブルに格納せず削除される。 マクロでやってみたのですが、初心者なのでよくわかりませんでした。 力を貸してくださいませんか。