• ベストアンサー

アクセス(データシートビュー)での連続コピー

アクセスを使用してデータを管理しています。まだ初心者で基本的な質問で申し訳ありませんが、 データシートビューの表の中で、同じ語句を連続して入れたい時(例えば縦一列のセルを同じ語句で埋めたい時)に、早い方法は無いのでしょうか? 現在は、そのセルをコピーして各セルに貼り付けています。 よろしくお願いいたします。

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

  • ベストアンサー
  • ksd_hiro
  • ベストアンサー率76% (29/38)
回答No.3

>データシートビューの表の中で、同じ語句を連続して入れたい時(例え >ば縦一列のセルを同じ語句で埋めたい時)に、早い方法は無いのでし >ょうか? 1度きりあるいは使用頻度が低いなら、「置換」で十分でしょう。(ACCESS2007以降なら、ホームタブから[置換]、それ以前なら、[編集]から[置換]) ただし、置換を利用する場合は、フィールドに値が入っているレコードと、 NULLのレコードを同時に置換することはできません。 値の入っているレコードだけ、NULLのレコードだけ、に分けて置換します。 CASE1)フィールド1が全てNULL、あるいは一部NULLで、  フィールド1がNULLのレコード全てに「語句」を入力する。  フィールド1を選択後、[検索と置換]ダイアログボックスで、検索する文字列に「NULL」、 置換後の文字列に「語句」と入力し、全て置換する。  (検索方向を「下」にして置換することで、特定のレコード以降に値を入力することもできます。) CASE2)フィールド1に値が入っているレコード全てに「語句」を入力する。  フィールド1を選択後、[検索と置換]ダイアログボックスで、検索する文字列に「*」、  置換後の文字列に「語句」と入力し、全て置換する。 CASE3)全てのレコードのフィールド1に「語句」を入力する。  「*」の置換と、「NULL」の置換を続けて実行する。 ご希望の操作が、恒常的に行われるのであれば、 更新クエリを作成する方がよいでしょう。 ある程度汎用性を持たせるのなら、 更新する値や抽出条件にパラメータを使用して作成します。 テーブルを元に選択クエリを新規作成、1つ目のフィールドに「フィールド1」を追加し、 2つ目のフィールドに以下のように入力します。 条件: NZ([フィールド1],"NULL") クエリを更新クエリに変更し、「条件」フィールドの抽出条件欄に、「Like [条件?]」、 「フィールド1」フィールドのレコードの更新欄に、「[入力する値?]」と入力して保存する。 このクエリを実行して、[入力する値?]と[条件?]の2つのパラメータを入力すると、 フィールド1に指定の値を入力します。 なお、[条件?]パラメータに、 (1)フィールド1の特定の値を指定すると、その値が入っているレコードのみを更新 (2)「*」を指定すると、全てのレコードを更新 (3)「NULL」を指定すると、フィールド1がNULLのレコードのみを更新 できます。 ※実は、本当にやりたかったことは、データの入力段階で、 前のレコードと同じ値を入力したかったんだけど、とりあえず、 既に入力済みのデータをなんとかしたい。というお話ならば、 入力済みデータの対応は、上記の通り、 根本的な対応は、kmetuさんの回答に提示されたURL先のように、 入力フォームに、前レコードの値をコピーする仕掛けをすることで対処します。

syun129
質問者

お礼

丁寧に回答ありがとうございました。 当方初心者なので、少し難しいですが、こつこつと実践してみたいと思います。

その他の回答 (2)

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

>縦一列のセルを同じ語句で埋めたい時 すべてレコードに対して、ということなら、 たとえば「テーブル1」の「フィールド1」 というフィールドを「チャンプル」という 語句で埋めたいのならば、更新クエリで UPDATE テーブル1 SET テーブル1.フィールド1 = "チャンプル"; のようにします。作り方は、新しいクエリの デザインビューにテーブル1を追加し、 クエリの種類を更新クエリにし、 更新するフィールドをフィールド1とし、 レコードの更新を "チャンプル" とします。 チャンプルを""で囲みます。 この場合はフィールド1の型がテキスト型 ですが、もしフィールド1が数値型ならば、 レコードの更新をたとえば 123 と入れると すべてのレコードのフィールド1が123 に置き換わります。このときは""で囲みません。 そのときにクエリのデザインビューをSQLビューに 切り替えると、 UPDATE テーブル1 SET テーブル1.フィールド1 = 123; のようになっています。

syun129
質問者

お礼

丁寧にご回答ありがとうございます。 まだまだアクセス初心者なため難しそうですが、研究しながら試していきたいと思います。 ありがとうございました。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1
syun129
質問者

お礼

ありがとうございます。 参考にさせていただきます。