• ベストアンサー

入力途中の入力した値をすべて削除する方法

フォームの入力値をクリア フォーム上にいくつかのテキストボックス、コンボボックスを配して入力してます。 入力途中に入力した値をすべて(削除)にして再入力したい。 現状、削除コマンドのクリック時に Me.Undo 又は Me.コントロール名Undo として試していますが、クリアされずフォームを閉じてテーブルを確認すると入力 した値がテーブルに追加されてしまいます 教えてください。

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

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.3

No1、No2です。 もし、Undoを使用するならば フォームの左側に鉛筆マークが ある間はUndoが使用できます。 たとえば、 If Me.Dirty Then Me.Undo End If これでデータが削除されます。 あるいは、以下にも記述があります。 http://www.accessclub.jp/bbs/0012/beginers5126.html

noname#141015
質問者

お礼

回答ありがとうございました

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

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

Private 削除ボタン_click() Me.undo exit sub で入力前の状態に戻るはずですけどねぇ? Me.Undo の前に、Me.Recalc とか Me.Requery って入れてませんよね? クリックする前にはレコードセレクタが編集中のアイコン(鉛筆マーク)になってますよね? 帳票フォームの場合に削除ボタンを詳細セクションに置いてあって そのレコードのボタンではなく前後のボタンを押しているとか? レコードが移動すればその編集中のレコードは確定されます。 Undo で戻せるのは編集中の場合だけです。 キーボードのESCキーを押した場合と一緒です。確定したものを元には戻せません。 Private 削除ボタン_click() If Me.Dirty Then Me.undo Else Msgbox "編集中ではありません" End If exit sub コードの内容をこんな風に差し替えてみたら・・ それでもダメならもっと詳~~細な説明が必要ですね。

noname#141015
質問者

お礼

回答ありがとうございました

全文を見る
すると、全ての回答が全文表示されます。
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

No1です。 なんだか、前の質問に新しく追加 したつもりがこちらの質問に 回答してしまいました。 お気に召さなかったらスルーしてください。

全文を見る
すると、全ての回答が全文表示されます。
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

フォームのレコードソースにたとえば ID(オートナンバー 主キー) 名前(テキスト型) 住所(テキスト型) 年令(数値型) があるとします。 Private Sub 削除コマンド_Click() Dim rs As Recordset Set rs = Me.RecordsetClone '(1)ここから 'rs.Bookmark = Me.Bookmark 'rs.Delete '(1)ここまで '(2)ここから rs.Edit rs!名前 = Null rs!住所 = Null rs!年令 = Null rs.Update '(2)ここまで End Sub (1)の場合はすべてのレコードを削除します。 ただし、主キーがオートナンバーなどの場合は 欠番が生じます。 (2)の場合は(1)の場合と違って主キーの オートナンバーを温存してその他のデータを 削除します。 お好きな方法で。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 入力途中で入力して値をすべて削除する方法

    フォームの入力値をクリア フォーム上にいくつかのテキストボックス、コンボボックスを配して入力してます。 入力途中に入力した値をすべて(削除)にして再入力したい。 現状、削除コマンドのクリック時に Me.Undo 又は Me.コントロール名Undo として試していますが、クリアされずフォームを閉じてテーブルを確認すると入力 した値がテーブルに追加されてしまいます 教えてください

  • コンボボックスの値が消えてしまいます。

    コンボボックスの値が消えてしまいます。 フォーム(1)にコンボボックスA(値集合ソースはテーブル1)があります、この リスト外入力時で別フォーム(2)(レコード追加用)を開きテーブル1にレコードを追加、 フォーム(2)を閉じる時にコンボボックスAをリクエリかけてフォーム(1)に戻るとコンボボックスAが空になっているのでリストを開き選択し直さなければいけません! フォーム(1)に戻った時コンボボックスAに入力した値を選択させておくにはどの様にすれば良いか アドバイスよろしくお願いいたします。 WIN XP ACCESS 2003で作成しています。

  • フォームへの未入力を無くしたい

    [やりたいこと(宜しくおねがいします)] フォームの未入力「コンボボックス」と「テキストボックス」を事前に把握したい。 [(やりたいこと)の実現と希望] このサイトでアドバイスを頂きまして、長年に渡り作成できたデータベースが「68」、入力するフォームは「78」を超えます。現状「フォーム」の構成を生かす方法を含めアドバイスをお願いします。 [入力するフォームに共通していること] 1,コンボボックスとテキストボックス  ・全てのコンボボックスへの選択入力は必須になっている。  ・テキストボックスは未入力箇所も発生する。「未入力箇所は不特定」 2,フォームに共通して配している2つのコマンドボタン  ・フォームを閉じるボタン「マクロ(クリック時)」  ・情報の最新化ボタン「マクロ(クリック時)」   ※コンボボックスの選択項目追加時に反映用として配置 以上ですが、宜しくお願いします。

  • リアルタイムで入力データを反映させたい「修正版」

    入力したデータをリアルタイムに近い形で対象オブジェクトへ反映させたいと思っています。是非、アドバイスをお願い致します。 [やりたいこと] コンボボックス「プルダウンメニュー」を利用したデータ入力を行っています。コンボボックスで選択するデータを新たに追加した際、リアルタイムに近い形でプルダウンメニューに反映できればと思っています。 [現状での対応] フォームにコマンドボタンを配して、クリック時のマクロ(コマンドの実行)で「最新の情報に更新」を設定し対応しています。時々、ボタンを押し忘れることがあり、データ追加時点にコンボボックスでの選択を可能にしたいと考えています。 [おねがい] データベースオブジェクトの項目フィールドは「項目コンボ」から入力しています。「項目コンボ」で選択するデータの追加は「項目フォーム」で行います。以下のオブジェクト構成とした場合の効果的な設定方法を教えて下さい。 ■データベースオブジェクト ・テーブル(名前)メインテーブル「フィールド(名前):ID、項目、・・・」 ・フォーム(名前)メインフォーム「テキストボックス(名前):ID、項目(コンボボックス入力)、・・・・」 ・コンボボックス(名前):項目コンボ ■コンボボックス入力用データの追加オブジェクト ・テーブル:項目テーブル「フィールド:ID、項目」 ・フォーム:項目フォーム「テキストボックス:ID、項目」※一覧フォーム 以上ですが、宜しくお願いします。

  • フォームのプロパティを設定したい(Access2000)

    Access2000 XPです。 都道府県名が1レコードに1つずつ入っているテーブルと 各都道府県名のテーブルが47コあります。 新規でフォームを作成し(フォームのレコードソースはまだ未設定) コンボボックスを1つ置いて、値集合ソースに都道府県テーブルを設定し コンボボックスで選ばれた都道府県にフォームのレコードソースを変更しようと思っています。 Me.RecordSource=コンボボックス.text 単純にこれで良いと思うのですがエラー(入力された値は、フィールド又はコントロールで定義されている入力規則に従っていません)が出て全然更新されません。 どなたか分かる方、解決法をお願いします。。。

  • コンボボックスを使った入力の改善

    コンボボックスを使った入力を全てのデータベースで利用しています。しかし、各コンボボックスがそれぞれ独立「単体動作」しているので、コンボボックスの初段目「最初」はレコード数が少ないのですが、2段目3段目になると選択候補が累積表示されるので、候補の数も多くなり使いづらさを感じるデータベースも増えました。この状況を改善したいと思っていますので、宜しくお願いします。尚、データベースで設定しているコンボボックス全てに言えることでもありますので、以下のケースを紹介させていただきますので、アドバイスをお願いしたいと思います。 [現状でのやり方] コンボボックス参照オブジェクトは以下の構成にて、コンボボックスは独立していて連動していません。なお、参照データの追加作業は別途作成したフォームを、データ入力フォームに配したコマンドボタンで開いて行っています。 [コンボボックス関連オブジェクト(例)] コンボボックス名:都道府県(値集合ソースで都道府県のみ選択) テーブル名:都道府県テーブル フィールド名:ID、都道府県 フォーム名(参照データ追加):都道府県追加フォーム ※「新規追加後の入力フォームへの即反映はアドバイスにより完結済」 コンボボックス名:市町村(値集合ソースで市町村のみ選択) テーブル名:市町村 フィールド名:ID、市町村 フォーム名(参照データ追加):市町村追加フォーム ※「新規追加後の入力フォームへの即反映はアドバイスにより完結済」 [改善させたいこと] コンボボックス「都道府県」で東京都を選択したとき、次のコンボボックス「市町村」では東京都の市町村だけが次の候補として表示させたいと思っています。又、現在は蓄積データの絞り込み検索で設定していますが、選択コンボボックスの次のコンボボックスを自動プルダウンさせ、候補も同時に表示させ入力できればと考えています。 以上ですが、宜しくお願いします。

  • Accessでの入力で。

    「一覧」テーブル ・名前 [テキスト] ・項目1 [コンボボックス/項目] ・項目1の評価 [コンボボックス/評価] ・項目2 [コンボボックス/項目] ・項目2の評価 [コンボボックス/評価] としてあり、 「評価」テーブルは5~1の値が入っている状態です。 「項目」テーブルには何も入っていなく、 テーブルの「項目1」や「項目2」で値が入力されたら、その値をどんどん追加していきたいのです。 そしてその「項目」テーブルの値を「項目1」や「項目2」で使用して・・・と相互させたいのです。 このようなことを実現させる方法は何でしょうか?

  • access追加クエリーでform入力項目値をセットする方法

    Access2002で、システムを構築中です。 いろいろ調べたのですが、初歩的過ぎるのは、意味が理解できてないのか、まったく判らなかったので、教えてください。 FORMから、年4桁をコンボボックスで選択させ、 Aテーブルの項目に、この年項目を追加したレイアウトで、 Bテーブルにデータを追加しようとしています。 Aよりレコードを読み込み、新しい項目にこの画面入力値をセットして全レコード同じ値として追加し、Bテーブルに書き込む処理を、ACCESSのクエリーでやりたいと考えています。 この画面の値のセットの仕方がわからず苦労しています。 動作イメージは、 フォームAのコンボボックスで値1を選択 コマンドボタンを押すと、クリックイベントでVBAへ。 VBA内では、 1 テーブルAから、テーブルBのデータを上記のように編集し、   追加する追加クエリを起動。 2 テーブルAのデータをクリア 以上です。 よろしくお願いします。

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

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

  • Access コンボボックスの次の値に移動

    Microsoft Accessでフォームを作りました。コンボボックス1の値はテーブル1から参照するようになっています。このフォームにボタンを追加して、ボタンを押すとコンボボックスの値が一つ下の値に移動するようにしたいです。どんなコードを書けば良いですか。

DCP-J957Nの赤色が出ない
このQ&Aのポイント
  • DCP-J957Nの赤色が正常に出力されないトラブルについて相談します。
  • お使いの環境はWindows10/iOSで、無線LANで接続されています。
  • ひかり回線を使用しています。関連するソフト・アプリは特にありません。
回答を見る