
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんにちは。
再度質問頂いたようですので回答します。
>このように200行ほどReplaceをネストせず並べて一度にクエリを実行できるということでしょうか?
>もしそうならそのやり方を教えてほしいです。
このご質問の意味が不明なのですが、
クエリは何行あったとしても、並べて書けば一括で実行可能な
はずですが、クエリの実行の仕方(画面?)を質問されてるのでしょうか。
ACCESS2007であれば作成タブからクエリデザイン選択すると
クエリのタブが開くと思います。
そこを選択した状態にてデザインタブからSQL表示ボタン押下するとSQL文を直接指定できる画面に切り替わりますので、
そこにエクセルで作成したクエリを全行コピーして
貼り付けて実行ボタン押下すればOKなはずです。
(やり方はいろいろあるので一例です)
ちなみに私であれば
REPLACEするときは
update テーブル1 set [フィールド1]=replace([フィールド1],"あ","a");
というようにUPDATEと組み合わせますが。
一度お試しください。
再度ご説明いただきありがとうございます!!
>クエリは何行あったとしても、並べて書けば一括で実行可能な
はずですが
そうなんですね。とんちんかんな質問をしてすみませんでした。
状況を説明させていただくと、
デザインビューでReplaceを並べて書いた → エラー
デザインビューでReplaceを数件ネストして書いた → OK
SQL文を編集 → 上手くいかず(どこが違っているかわからず)
という訳でどうしたものかと思っていました。
そもそもデザインビューでReplaceを並べて書いても実行できない、と思い込んでしまったのが良くなかったですね。
SQL文が適しているようですので、アドバイスいただいた通り作成してみたいと思います。
どうもありがとうございました。
No.1
- 回答日時:
こんにちは。
私もよくそういう作業が必要になりますが、
そのときはエクセルでクエリを作成しています。
置換前をB列、置換後の文字をD列にすべてセットします。
本文にあったようなクエリを作成したいのであれば、
A列にはたとえば
『Replace([フィールド1],"』
の文字を全ての行にコピーして入力します。
C列には
『","』
E列には
『");』
とします。
そして、セルF1にはA1からE1の
全ての文字を連結する関数を指定します。
=CONCATENATE(A1,B1,C1,D1,E1)
F1の関数をすべてF列の行にコピーすれば
まとめてクエリが完成するので
それをACCESS側に文字列として
コピーして実行します。
一度お試しください。
この回答への補足
早速の回答ありがとうございます!!
ただ、わたしがお聞きしたいのはその方法です。
クエリで一度で済ますのにネスト以外の方法はあるのか?
それよりもSQL文の方が良いのか?もしくはVBAが一番簡潔なのか?
または自作関数を作る方が効率が良い、とかそういうことです。
そして出来ればその文の書き方も教えていただければと思います。
SePapaさんの回答から推測すると
Replace([フィールド1],"あ","a");
Replace([フィールド1],"い","i");
.
[省略]
.
Replace([フィールド1],"ん","n");
このように200行ほどReplaceをネストせず並べて一度にクエリを実行できるということでしょうか?
もしそうならそのやり方を教えてほしいです。
ちなみにSePapaさんの方法は私もよくやります。
私の場合、CONCATENATEよりも早く入力出来るので
=A1&B1&C1&D1&E1 のように&で繋ぎます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Accessで、1つの項目に複数の置換えを1度でするには?
Access(アクセス)
-
Accessのクエリで、replace関数を使い、データの中にある”をブランクに置き換えたいのですが
Access(アクセス)
-
Access リストから文字の置換(Replace)
Word(ワード)
-
-
4
AccessでReplace関数を使うときに…
Excel(エクセル)
-
5
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
6
「#エラー」の回避
Access(アクセス)
-
7
Accessで値がnullの場合は計算せずにnullをかえす方法
Access(アクセス)
-
8
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
9
Accessで、『A"以外の場合"--"に置き換える』という作業をしたいのですが、良い方法はありま"
Access(アクセス)
-
10
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
11
途中で処理を中断させたい (アクセスVBA)
Access(アクセス)
-
12
ACCESS テーブル内の列にある日付を一括変更したいです。
Access(アクセス)
-
13
ACCESS 複数のフォームから同一テーブル参照
Access(アクセス)
-
14
Accessでテーブル名やクエリ名一覧の抜き出し
Access(アクセス)
-
15
クエリの一つのフィールドのIIF関数の限界は14個ですか?
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスのエラー「クエリには...
-
EXCELの外部データ取得ができない
-
Access 複数のクエリの結果を...
-
ACCESSで追加クエリを連続実行...
-
【Access2003 VBA】クエリをエ...
-
ACCESS テーブル内の列...
-
access追加クエリ実行時の重複...
-
ACCESS 長い数字のクエリをする...
-
アクセスで空白がグループ化さ...
-
Accessで複数(200件程)の置換
-
ACCESSのフィールドの表示順が...
-
AccessでSQL結果を直接csvに書...
-
レコード件数をファイル名にし...
-
Accessで進行状況インジケータ...
-
差込印刷での全角表示について...
-
SQL文で パラメータが少なすぎ...
-
ACCESS2010 フィルタ後のエク...
-
VBA 別シートの同じ日付の欄に...
-
Accessで、テーブルに入力した...
-
アクセスのクエリー作成
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスのエラー「クエリには...
-
access追加クエリ実行時の重複...
-
Access 複数のクエリの結果を...
-
AccessでSQL結果を直接csvに書...
-
yes/no型のチェックができない...
-
EXCELの外部データ取得ができない
-
アクセスで空白がグループ化さ...
-
Accessのエラーについてです。
-
レコード件数をファイル名にし...
-
ログイン画面後のページの表取...
-
Accessでユニオンクエリを作成...
-
ACCESSのフィールドの表示順が...
-
Access複数のクエリをExcelの1...
-
Me.FilterOn = True は先でも後で
-
Accessで進行状況インジケータ...
-
Accessのアクションクエリ実行...
-
ACCESS 開いている表を閉じる...
-
Access VBA(条件付きクエリ実...
-
ACCESSでメッセージにクエリ結...
-
ACCESS テーブル内の列...
おすすめ情報